2010年1月20日 星期三

Re: PHP 获取浏览器类型的类 mac地址

PHP 自动清除 serialize后的错误内容,然后进行解码。
由于某些时候会有错误出现,可以使用这个进行剔除错误的代码。然后再继续解码。



sunserialize.php:

<?

 
//自动去除 serialize里面的错误内容。
function sunserialize($string){
  
$regx1 '/^([a-z]+:[0-9]+:){(.*)}$/';
  
preg_match_all($regx1,$string,$list);
  
$string $list[1][0];
  
$array explode(';',$list[2][0]);
  
$regx2 '/^([a-z]+):([0-9]+):(.*)/';
  foreach (
$array as $key => $val){
      if(!
$val) continue;
      
preg_match($regx2,$val,$s);
      if(
strlen($s[3]) != ($s[2]+strlen('"')*2)){
          
$val 's:5:"error"';
        }
      
$array[$key] = $val;
  }
  
$string .= '{'.implode(';',$array).'}';
  return 
unserialize($string);
  }
?>

0 评论:

发表评论