解决反序列化时由于字符长度原因导致报错
/* * 解决反序列化时由于字符长度原因导致报错 * unserialize(): Error at offset 126 of 691 bytes */ function common_unserialize($str) { if(empty($str)){ return ''; } $str= preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $str ); $str= str_replace("\r", "", $str); return unserialize($str); } 示例: $a = 's:36:"国税局家属楼*号楼*单元***";'; var_dump(unserialize($a)); $a= common_unserialize($a); var_dump($a);