【问题标题】:PHP Serialize html contentPHP序列化html内容
【发布时间】:2013-06-27 04:57:12
【问题描述】:

我有一个从 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=

【问题讨论】:

  • 请提供一些示例数据 $sArray
  • 脚本的结果是什么?生成的来源是什么?
  • @Eyal Alsheich - 它正在将保存的数据列表添加到表中。
  • $value 显示为纯文本是什么意思?这个脚本的最终结果是什么,在你得到数组反序列化后?

标签: php mysql arrays serialization base64


【解决方案1】:

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

PHP Serialize Successful, Unserialize Failure

感谢@Eyal Alsheich 指出此链接!

【讨论】:

    猜你喜欢
    • 2016-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-04
    • 2018-12-04
    • 1970-01-01
    • 1970-01-01
    • 2014-09-05
    相关资源
    最近更新 更多