如何使用PHP实现javascript的escape和unescape函数
前端开发工程师都知道javascript有编码函数escape()和对应的解码函数unescape(),而PHP中只有个urlencode和urldecode,这个编码和解码函数对encodeURI和encodeURIComponent有效,但是对escape的是无效的。
javascript中的escape()函数和unescape()函数用户字符串编码,类似于PHP中的urlencode()函数,下面是PHP实现的escape函数代码:
<div class="codetitle"><a style="CURSOR: pointer" data="33297" class="copybut" id="copybut33297" onclick="doCopy('code33297')"> 代码如下:
<div class="codebody" id="code33297">
/*
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('mb_get_info')) {
for($x = 0; $x < mb_strlen ( $string,$in_encoding ); $x ++) {
$str = mb_substr ( $string,$x,1,$in_encoding );
if (strlen ( $str ) > 1) { // 多字节字符
$return .= '%u' . strtoupper ( bin2hex ( mb_convert_encoding ( $str,$out_encoding,$in_encoding ) ) );
} else {
$return .= '%' . strtoupper ( bin2hex ( $str ) );
}
}
}
return $return;
}