PHP序列化html内容

时间:2013-06-27 04:57:13

标签: php mysql arrays serialization base64

我有一个页面,它从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=

1 个答案:

答案 0 :(得分:0)

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

PHP Serialize Successful, Unserialize Failure

感谢@Eyal Alsheich指出这个链接!