-1

我有一个从 mysql db (blob) 检索序列化 base64 编码数组的页面,然后对其进行解码、反序列化和显示。

我的问题是,任何显示的 html 都是纯文本(而不是代码),并且一些敏感字符被转义。“例如是\”。我尝试添加一个 str_replace() ,虽然它确实删除了 \'s 但并没有解决问题。

这是显示信息的代码:

 $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=
4

1 回答 1

0

我将表单序列化更改为 json_encode/decode 并解决了问题!

PHP序列化成功,反序列化失败

感谢@Eyal Alsheich 指出此链接!

于 2013-06-27T05:22:18.473 回答