·您当前的位置:首页 > 技术教程 >

[PHP]使用PHP解码javascript escape() 编码过的字串为UTF-8

时间:2015-05-18 08:43酷播
[PHP]使用PHP解码javascript escape() 编码过的字串为UTF-8

方法getGb2312不能用,因为Gb2312Utf8太大这里没发
如要完整的可到我的空间下载utf8gb2312互转集成GB2312.txt 这个资源
http://download.csdn.net/user/li36669957

  1. <?php 
  2. /* 
  3.  *使用 PHP 解码 javascript escape() 编码过的字串为UTF-8 
  4.  *例:1 
  5.  * 
  6.  *$tem=new UnEscape(); 
  7.  *echo $tem->getUtf8("%u624B%u673A%u95E8%u6237"); 
  8.  *echo $tem->getGb2312("%u624B%u673A%u95E8%u6237"); 
  9.  */ 
  10.     function UnEscapeToUtf8($ar){ 
  11.      foreach($ar as $val){ 
  12.        $val = intval(substr($val,2),16); 
  13.        if($val < 0x7F){        // 0000-007F 
  14.           $c .chr($val); 
  15.        }elseif($val < 0x800) { // 0080-0800 
  16.           $c .chr(0xC0 | ($val / 64)); 
  17.           $c .chr(0x80 | ($val % 64)); 
  18.        }else{                // 0800-FFFF 
  19.           $c .chr(0xE0 | (($val / 64) / 64)); 
  20.           $c .chr(0x80 | (($val / 64) % 64)); 
  21.           $c .chr(0x80 | ($val % 64)); 
  22.        } 
  23.      } 
  24.      return $c; 
  25.     } 
  26.  
  27.  class UnEscape{ 
  28.     function getUtf8($value=""){ 
  29.       $text = preg_replace_callback("/%u[0-9A-Za-z]{4}/",UnEscapeToUtf8,$value); 
  30.       return urldecode($text); 
  31.     } 
  32.  
  33.     function getGb2312($value=""){ 
  34.       $text = preg_replace_callback("/%u[0-9A-Za-z]{4}/",UnEscapeToUtf8,$value); 
  35.   $obj=new Gb2312Utf8(); 
  36.       return $obj->utf8ToGb2312(urldecode($text)); 
  37.     } 
  38. ?> 

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器