最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
二种escape unescape在php写法
时间:2022-06-24 16:04:11 编辑:袖梨 来源:一聚教程网
*/
function phpescape($str){
$sublen=strlen($str);
$restring="";
for ($i=0;$i<$sublen;$i++){
if(ord($str[$i])>=127){
$tmps教程tring=bin2hex(iconv("utf-8","ucs-2",substr($str,$i,2)));if (!eregi("win",php_os)){
$tmpstring=substr($tmpstring,2,2).substr($tmpstring,0,2);
}
$restring.="%u".$tmpstring;
$i++;
} else {
$restring.="%".dechex(ord($str[$i]));
}
}
return $restring;
}
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);
}
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);
}
相关文章
- 崩坏3时雨绮罗蓄力流刻印推荐优势分析 06-15
- OM币怎么操作?2025OKX交易所新手投资 06-15
- 明日之后喷火器异变核芯电光溅射对比攻略 06-15
- 基于Solana的Solsniper将在运营3.5年后关闭NFT市场 06-15
- 《潜水员戴夫》石纹电鳐抓捕如何 06-15
- 《差不多高手》建筑玩法详细介绍 06-15