PHP下逸出译码功能的实现
GB2312编码:复制代码代码如下所示:
功能unescape($str){
$str = rawurldecode($str);
preg_match_all( / % { 4 } | # X. { 4 };| # D +;| + / U。
$ = $ $ { 0 };
foreach($ AR $ K = > $ V){
如果(substr($ V,0,2)= =%)
{ } = K Ar美元美元iconv(UCS-2
elseif(substr($ V,0,3)= =# X)
{ } = K Ar美元美元iconv(UCS-2
elseif(substr($ V,0,2)= =# { )
{ } = K Ar美元美元iconv(UCS-2
}
}
返回连接()
}
UTF8编码:
复制代码代码如下所示:
功能unescape($str){
美元=;
$ len = strlen(str);
($ i = 0;$ i;
如果($str { } = =我美元str { $我+ 1 } = = U){
$值= hexdec(substr($str,我+ 2, 4));
如果($ val < 0x7f)$ RET = CHR(美元值);
如果(美元值> 6)),Chr(0x80 |($ val0x3f));
其他的RET = CHR(0xE0 |美元(美元价值> >(12)。CHR)(0x80 |(Val > > 6美元)0x3F(0x80 |))。Chr($ val0x3f));
$ I = 5;
}
否则,如果($ $ {我} = { %)
美元= URLDecode(RET substr($str,我,3));
$ I = 2;
}
除此之外,每一美元;
}
返回$;
}