php 正确解码javascript中通过escape编码后的字符

yipeiwu_com6年前PHP代码库
这是很久以前收集的一个,不知道谁写的了,但经过测试没有问题~
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.jb51.net%22%22%27%27%3C%3E%26%26

解码后:
复制代码 代码如下:

测试www.jb51.net""''<>&&

相关文章

php使用curl获取header检测开启GZip压缩的方法

本文实例讲述了php使用curl获取header检测开启GZip压缩的方法。分享给大家供大家参考,具体如下: 获得网页header信息,是网站开发人员和维护人员常用的技术。网页的head...

使用WordPress发送电子邮件的相关PHP函数用法解析

使用WordPress发送电子邮件的相关PHP函数用法解析

wp_mail() 函数用来发送邮件,类似于 PHP 的 mail() 函数。 默认的发件人名称是 WordPress,发件人邮箱是类似 wordpress@example.com。 用...

php版微信公众号接口实现发红包的方法

php版微信公众号接口实现发红包的方法

本文实例讲述了php版微信公众号接口实现发红包的方法。分享给大家供大家参考,具体如下: 最近接到一个任务,需要用微信来给用户自动发红包。要完成这个任务需要这么已经一些物料 微信商户号,已...

PHP实现的curl批量请求操作示例

本文实例讲述了PHP实现的curl批量请求操作。分享给大家供大家参考,具体如下: <?php $ch = array(); $res = array(); $conn...

ecshop 2.72如何修改后台访问地址

2.72版本之后修改后台登录地址非常方便,步骤如下: 1、修改 admin 文件夹名称为别人猜不到的,例如 ecshop 2、打开data/config.php文件 查找: 复制代码 代...