php escape URL编码
2018-09-22 01:01
徐祖宁的php版的escape/unescape函数
复制代码 代码如下:
function escape($str) {
preg_match_all(/[\x80-\xff].[\x01-\x7f]+/,$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v) {
if(ord($v[0]) < 128)
$ar[$k] = rawurlencode($v);
else
$ar[$k] = %u.bin2hex(iconv(GB2312,UCS-2,$v));
}
return join(,$ar);
}
function unescape($str) {
$str = rawurldecode($str);
preg_match_all(/(?:%u.{4}).+/,$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v) {
if(substr($v,0,2) == %u && strlen($v) == 6)
$ar[$k] = iconv(UCS-2,GB2312,pack(H4,substr($v,-4)));
}
return join(,$ar);
}
上一篇:php 设计模式之 单例模式