php使用htmlspecialchars函数转换序列化后反序列化无效

dnpao 2017-12-04 11:20:21
一段html代码 用 htmlspecialchars 函数转换后再序列化serialize,生成以下代码,但是unserialize却无效,在网上看到重新计算字符的长度,但还是无效,是什么问题

function mb_unserialize($serial_str) {  
$serial_str= preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $serial_str );
$serial_str= str_replace("\r", "", $serial_str);
return unserialize($serial_str);
}

a:1:{s:4:"html";s:1256:"<li class="news-li"><a href="#"><span class="news-span">07-01</span>特朗普放大招!美国大幅减税 中国该如何应对?</a></li>
<li class="news-li"><a href="#"><span class="news-span">07-01</span>印度男子上公交车脱鞋 袜子太臭引众怒被警方逮捕</a></li>
<li class="news-li"><a href="#"><span class="news-span">07-01</span>河北百余白血病患者遇“配捐”骗局 警方介入调查</a></li>
<li class="news-li"><a href="#"><span class="news-span">07-01</span>女子微信借钱给朋友 只因备注了两个字被赖账</a></li>
<li class="news-li"><a href="#"><span class="news-span">07-01</span>老太创业失败摊偿还百万债务:该我还的债一定要还</a></li>
<li class="news-li"><a href="#"><span class="news-span">07-01</span>9岁男孩输液中出现休克症状 抢救时鼻腔出血身亡</a></li>";}




以下是源码

<li class="news-li"><a href="#"><span class="news-span">07-01</span>特朗普放大招!美国大幅减税 中国该如何应对?</a></li> <li class="news-li"><a href="#"><span class="news-span">07-01</span>印度男子上公交车脱鞋 袜子太臭引众怒被警方逮捕</a></li> <li class="news-li"><a href="#"><span class="news-span">07-01</span>河北百余白血病患者遇“配捐”骗局 警方介入调查</a></li> <li class="news-li"><a href="#"><span class="news-span">07-01</span>女子微信借钱给朋友 只因备注了两个字被赖账</a></li> <li class="news-li"><a href="#"><span class="news-span">07-01</span>老太创业失败摊偿还百万债务:该我还的债一定要还</a></li> <li class="news-li"><a href="#"><span class="news-span">07-01</span>9岁男孩输液中出现休克症状 抢救时鼻腔出血身亡</a></li>
...全文
283 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
小熊开发 2017-12-04
  • 打赏
  • 举报
回复
htmlspecialchars_decode(unserialize($serial_str))
老虎爱代码 2017-12-04
  • 打赏
  • 举报
回复
你是不是步骤弄反了啊,经测试是可以解析出来的

$string ='a:1:{s:4:"html";s:1256:"<li class="news-li"><a href="#"><span class="news-span">07-01</span>特朗普放大招!美国大幅减税 中国该如何应对?</a></li>
<li class="news-li"><a href="#"><span class="news-span">07-01</span>印度男子上公交车脱鞋 袜子太臭引众怒被警方逮捕</a></li>
<li class="news-li"><a href="#"><span class="news-span">07-01</span>河北百余白血病患者遇“配捐”骗局 警方介入调查</a></li>
<li class="news-li"><a href="#"><span class="news-span">07-01</span>女子微信借钱给朋友 只因备注了两个字被赖账</a></li>
<li class="news-li"><a href="#"><span class="news-span">07-01</span>老太创业失败摊偿还百万债务:该我还的债一定要还</a></li>
<li class="news-li"><a href="#"><span class="news-span">07-01</span>9岁男孩输液中出现休克症状 抢救时鼻腔出血身亡</a></li>";}';
$unsetArr = (unserialize($string));
foreach ($unsetArr as $key=> $unset) {
   $unsetArr [$key] = htmlspecialchars_decode($unset);
}
var_dump($unsetArr);

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧