php 解码javascript中通过escape编码后的字符
发布于 2014-10-21 08:55:28 | 100 次阅读 | 评论: 0 | 来源: 网友投递
PHP开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。PHP的文件后缀名为php。
本文是一个php 解码javascript中通过escape编码后的字符的示例代码,感兴趣的同学参考下。
问题:
js的escape如何在PHP中来解呢?下面的这个函数可以正确的解析,网上有不少unescape的函数,但好用的不多.
JavaScript代码
function phpUnescape($escstr)
{
preg_match_all("/%u[0-9A-Za-z]{4}|%.{2}|[0-9a-zA-Z.+-_]+/", $escstr, $matches);
$ar = &$matches[0];
$c = "";
foreach($ar as $val)
{
if (substr($val, 0, 1) != "%")
{
$c .= $val;
} elseif (substr($val, 1, 1) != "u")
{
$x = hexdec(substr($val, 1, 2));
$c .= chr($x);
}
else
{
$val = intval(substr($val, 2), 16);
if ($val < 0x7F) // 0000-007F
{
$c .= chr($val);
} elseif ($val < 0x800) // 0080-0800
{
$c .= chr(0xC0 | ($val / 64));
$c .= chr(0x80 | ($val % 64));
}
else // 0800-FFFF
{
$c .= chr(0xE0 | (($val / 64) / 64));
$c .= chr(0x80 | (($val / 64) % 64));
$c .= chr(0x80 | ($val % 64));
}
}
}
return $c;
}
escape编码后:
%u6D4B%u8BD5www.phperz.com%22%22%27%27%3C%3E%26%26
解码后:
测试www.phperz.com""''<>&&
相关阅读:
php 解码javascript中通过escape编码后的字符
PHP实现Javascript中的escape及unescape函数代码分享
PHP实现javascript中的方法链
php中通过smtp发邮件的类,测试通过
php获取网页中图片、DIV内容的简单方法
PHP使用CURL获取302跳转后的地址实例(真实地址)
php 判断字符串中是否包含html标签的方法
php检查字符串中是否包含7位GSM字符的方法
php检查字符串中是否有外链的方法
PHP页面转UTF-8中文编码乱码的解决办法
PHP使用strstr()函数获取指定字符串后所有字符的方法
php查找字符串中第一个非0的位置截取