PHP实现javascript的escape和unescape函数
2012-10-25 14:02
567 查看
前端开发工程师都知道javascript有编码函数,而php中只有个urlencode和urldecode,这个编码和解码函数对encodeURI和encodeURIComponent有效,但是对escape的是无效的。escape()和对应的解码函数[code]unescape()
javascript中的escape()函数和unescape()函数用户字符串编码,类似于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('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;
}[/code]
反解析函数.
function unescape($str) { $ret = ''; $len = strlen ( $str ); for($i = 0; $i < $len; $i ++) { if ($str [$i] == '%' && $str [$i + 1] == 'u') { $val = hexdec ( substr ( $str, $i + 2, 4 ) ); if ($val < 0x7f) $ret .= chr ( $val ); else if ($val < 0x800) $ret .= chr ( 0xc0 | ($val >> 6) ) . chr ( 0x80 | ($val & 0x3f) ); else $ret .= chr ( 0xe0 | ($val >> 12) ) . chr ( 0x80 | (($val >> 6) & 0x3f) ) . chr ( 0x80 | ($val & 0x3f) ); $i += 5; } else if ($str [$i] == '%') { $ret .= urldecode ( substr ( $str, $i, 3 ) ); $i += 2; } else $ret .= $str [$i]; } return $ret; }
相关文章推荐
- 如何使用PHP实现javascript的escape和unescape函数
- PHP实现Javascript中的escape及unescape函数代码分享
- php实现Javascript的escape和unescape函数
- 使用php实现javascript的escape和unescape函数
- PHP实现Javascript中的escape及unescape函数代码分享
- [转]如何使用PHP实现javascript的escape和unescape函数
- PHP实现javascript的escape和unescape函数
- 如何使用PHP实现javascript的escape和unescape函数
- 如何使用PHP实现javascript的escape和unescape函数
- 在PHP中实现Javascript的escape()函数代码
- PHP实现Javascript的escape(),unescape()的方法
- PHP实现类似JAVASCRIPT中的escape()和unescape()编码.
- PHP javascript的escape和unescape函数
- php 模拟 javascript escape unescape函数
- 在PHP中实现Javascript的escape()函数代码
- js中的escape及unescape函数的php实现代码
- js中的escape及unescape函数的php实现代码
- PHP实现JavaScript的escape和unescape
- PHP+KINDEDIT+mysql+javascript实现文本编辑和文件上传功能实例
- PHP+JavaScript 实现图片无刷新上传