Sep 21

一个解编码函数 不指定

bkkkd , 00:58 , 开发应用 , 评论(0) , 引用(0) , 阅读(4300) , Via 本站原创 | |
echo unescape('%u82F9%u679C,%u82F9%u679C,否;%u6854%u5B50,%u6854%u5B50,否');



输出:苹果,苹果,否;桔子,桔子,否





PHP代码:


function unescape($str) {

  
$str = rawurldecode($str);

  
preg_match_all("/%u.{4}|&#x.{4};|&#d+;|&#d+?|.+/U",$str,$r);

  
$ar = $r[0];

  foreach(
$ar as $k=>$v) {

    if(
substr($v,0,2) == "%u")

      
$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4)));

    elseif(
substr($v,0,3) == "&#x")

      
$ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,3,-1)));

    elseif(
substr($v,0,2) == "&#") {

      
$ar[$k] = iconv("UCS-2","GBK",pack("n",preg_replace("/[^d]/","",$v)));

    }

  }

  return
join("",$ar);

}





发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]