【发布时间】: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