前端开发工程师都知道javascript有编码函数escape,而php中只有个urlencode和urldecode,这个编码和解码函数对encodeURI和encodeURIComponent有效,但是对escape的是无效的。javascript中的escape函数用户字符串编码,类似于PHP中的urlencode()函数,下面是php实现的escape函数代码:复制代码 代码如下:/** * js escape php 实现
* @param $string the sting want to be escaped * @param $in_encoding
* @param $out_encoding */ function escape($string, $in_encoding =
‘UTF-8’,$out_encoding = ‘UCS-2’) { $return = ”; if (function_exists {
for($x = 0; $x < mb_strlen ( $string, $in_encoding ); $x ++) { $str
= mb_substr ( $string, $x, 1, $in_encoding ); if { // 多字节字符
$return .= ‘%u’ . strtoupper ( bin2hex ( mb_convert_encoding ( $str,
$out_encoding, $in_encoding ) ) ); } else { $return .= ‘%’ .
strtoupper ; } } } return $return; }对应的解码php unescape代码是:复制代码 代码如下:function unescape { $ret =
”; $len = strlen; for ($i = 0; $i < $len; $i ++) { if ($str[$i] ==
‘%’ && $str[$i + 1] == ‘u’) { $val = hexdec(substr; if $ret .= chr;
else if $ret .= chr . chr; else $ret .= chr . chr & 0x3f)) . chr; $i +=
5; } else if { $ret .= urldecode; $i += 2; } else $ret .= $str[$i]; }
return $ret; }

发表评论

电子邮件地址不会被公开。 必填项已用*标注