unserialize反序列化错误的解决办法

1. UTF-8编码解决反序列化出错问题

function mb_unserialize($serial_str) {
    $serial_str = str_replace("
", "", $serial_str);
    $serial_str = preg_replace('!s:(d+):"(.*?)";!se', "'s:'.strlen('$2').':"$2";'", $serial_str );
    return unserialize($serial_str);
}

2.ASC编码解决反序列化出错问题 

function asc_unserialize($serial_str) {
 $serial_str= str_replace("
", "", $serial_str);
 $serial_str = preg_replace('!s:(d+):"(.*?)";!se', '"s:".strlen("$2").":"$2";"', $serial_str );
 return unserialize($serial_str);
}
原文地址:https://www.cnblogs.com/tine/p/7373659.html