1. 程式人生 > >unserialize反序列化錯誤的解決辦法

unserialize反序列化錯誤的解決辦法

replace 序列 lac pre col 反序 blog 解決辦法 repl

1. 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);
}

2.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); }

unserialize反序列化錯誤的解決辦法