PHP实现escape方法
原创
52cxy
12-20 10:23
阅读数:1130
PHP实现escape方法:
function escape($str)
{
preg_match_all ( "/[\xc2-\xdf][\x80-\xbf]+|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}|[\x01-\x7f]+/e", $str, $r );
//匹配utf-8字符,
$str = $r [0];
$l = count ( $str );
for($i = 0; $i < $l; $i ++) {
$value = ord ( $str [$i] [0] );
if ($value < 223) {
$str [$i] = rawurlencode ( utf8_decode ( $str [$i] ) );
//先将utf8编码转换为ISO-8859-1编码的单字节字符,urlencode单字节字符.
//utf8_decode()的作用相当于iconv("UTF-8","CP1252",$v)。
} else {
$json = json_encode($str[$i]);
$str[$i] = "%u" . strtoupper(substr($json,3,strlen($json)-4));
}
}
return join ( "", $str );
}共0条评论