escape unescape的php下的实现方法

2018-09-07 14:32

阅读:156

  functionescape($str){
preg_match_all(/[\x80-\xff].[\x01-\x7f]+/,$str,$r);
$ar=$r[0];
foreach($aras$k=>$v){
if(ord($v[0])<128)
$ar[$k]=rawurlencode($v);
else
$ar[$k]=%u.bin2hex(iconv(GB2312,UCS-2,$v));
}
returnjoin(,$ar);
}

functionunescape($str){
$str=rawurldecode($str);
preg_match_all(/(?:%u.{4}).+/,$str,$r);
$ar=$r[0];
foreach($aras$k=>$v){
if(substr($v,0,2)==%u&&strlen($v)==6)
$ar[$k]=iconv(UCS-2,GB2312,pack(H4,substr($v,-4)));
}
returnjoin(,$ar);
}


评论


亲,登录后才可以留言!