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