php unserialize retun false 反序列化处理

当数据是gbk  
unserialize(gbk_to_utf8($value["cphelp"]));
当反序列化时会出现retun false
使用处理过单双引号,过滤\r的mb_unserialize方法就能成功反序列化了。
 
function mb_unserialize($serial_str) {
  $serial_str= preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $serial_str );
  $serial_str= str_replace("\r", "", $serial_str);
  return unserialize($serial_str);
}
posted @ 2019-01-22 15:11  MAKE-IN-LEMON  阅读(227)  评论(0)    收藏  举报