【发布时间】:2011-08-22 11:08:56
【问题描述】:
如何正确序列化和反序列化包含转义字符的字符串?
给定:
$data = "\'test\'";
$out= serialize($data);
print_r($out); // -> s:8:"\'test\'";
这里的问题是,反序列化不接受字符串长度:
$out = 's:8:"\'test\'"';
var_dump(unserialize($out)); // -> bool(false)
但如果我将字符串长度更改为 6(忽略转义字符):
$out = 's:6:"\'test\'"';
var_dump(unserialize($out)); // -> string(6) "'test'"
它正确反序列化。
什么是处理这个问题的好方法?
【问题讨论】:
标签: php serialization escaping