标签存档: 反序列化

php函数unserialize反序列化编码问题

有些时候由于序列化的编码问题,当反序列化时会出现retun false的情况,该情况的解决方案:


//UTF-8

function mb_unserialize($serial_str) {

$serial_str = str_replace("\r", "", $serial_str);
$serial_str = preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $serial_str );

return unserialize($serial_str);

}

//ASC

function asc_unserialize($serial_str) {

$serial_str = str_replace("\r", "", $serial_str);
$serial_str = preg_replace('!s:(\d+):"(.*?)";!se', '"s:".strlen("$2").":\"$2\";"', $serial_str );

return unserialize($serial_str);

}
第 1 页,共 1 页1