PHP实现unescape方法
原创 52cxy 12-20 10:26 阅读数:954

PHP实现unescape方法:

function unescape($str) {
	$str = rawurldecode($str);
	preg_match_all("/(?:%u.{4})|&#x.{4};|&#\d+;|.+/U",$str,$r);
	$ar = $r[0];
	foreach($ar as $k=>$v) {
		if(substr($v,0,2) == "%u"){
			$ar[$k] = iconv("UCS-2BE","UTF-8",pack("H4",substr($v,-4)));
		}
		elseif(substr($v,0,3) == "&#x"){
			$ar[$k] = iconv("UCS-2BE","UTF-8",pack("H4",substr($v,3,-1)));
		}
		elseif(substr($v,0,2) == "&#") {
			$ar[$k] = iconv("UCS-2BE","UTF-8",pack("n",substr($v,2,-1)));
		}
	}
	return join("",$ar);
}


共0条评论
我要评论