我有一个页面,它从mysql db(blob)中检索一个序列化的base64编码数组,然后对其进行解码,反序列化和显示。
我的问题是,显示的任何html都是纯文本(而不是代码),并且一些敏感字符被转义。 “例如是\”。我尝试添加一个str_replace(),虽然它确实删除了\但它没有解决问题。
以下是显示信息的代码:
$array = unserialize(base64_decode($sArray));
if ($array != ''){
foreach ($array as $key => $value) {
echo "<td>$value</td>";
}
echo "</tr>";
}
它正确地添加了td标记以添加到表中,但同样,$ value显示为纯文本。
提前感谢您的帮助!
数组设置如下:
FieldTitle1 => <a href="#">link</a>
FieldTitle2 => Random Text
FieldTitle3 => 930809830
示例sArray数据:
YToxMjp7aToxO3M6OToidGVzdE5hbWUxIjtpOjI7czozMjoiPGEgaHJlZj1cXFwiI1xcXCI+dGVzdFZhbHVlMTwvYT4iO2k6MztzOjk6InRlc3ROYW1lMiI7aTo0O3M6MTc6IjxiPnRlc3RWYWx1ZTI8L2I+IjtpOjU7czo5OiJ0ZXN0TmFtZTMiO2k6NjtzOjQzOiI8aW1nIHNyYz1cXFwiaHR0cDovL3BsYWNlaG9sZC5pdC8xMHgxMFxcXCI+IjtpOjc7czo5OiJ0ZXN0TmFtZTQiO2k6ODtzOjEwMToiPGlmcmFtZSBzcmM9XFxcImh0dHA6Ly9jcm93bmZ1cm5pdHVyZW1hLmNvbVxcXCIgd2lkdGg9XFxcIjEwXFxcIiBoZWlnaHQ9XFxcIjEwXFxcIiBzZWFtbGVzcz48L2lmcmFtZT4iO2k6OTtzOjk6InRlc3ROYW1lNSI7aToxMDtzOjEyOiJSZWd1bGFyIFRleHQiO2k6MTE7czo5OiJ0ZXN0TmFtZTYiO2k6MTI7czo5OiIxMjk4MzkzNDciO30=
答案 0 :(得分:0)
我将表单序列化更改为json_encode / decode,这解决了问题!
PHP Serialize Successful, Unserialize Failure
感谢@Eyal Alsheich指出这个链接!