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


Posted in PHP onJanuary 28, 2010

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

解码后:
测试3water.com""''<>&&
PHP 相关文章推荐
什么是MVC,好东西啊
May 03 PHP
php实现首页链接查询 友情链接检查的代码
Jan 05 PHP
php截取后台登陆密码的代码
May 05 PHP
浅析PHP文件下载原理
Dec 25 PHP
php操作(删除,提取,增加)zip文件方法详解
Mar 12 PHP
PHP5.2下preg_replace函数的问题
May 08 PHP
PHP版本常用的排序算法汇总
Dec 20 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
Jun 17 PHP
一个实用的php验证码类
Jul 06 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
Apr 23 PHP
PHP实现计算器小功能
Aug 28 PHP
phpquery中文手册
Mar 18 PHP
php读取xml实例代码
Jan 28 #PHP
通过具体程序来理解PHP里面的抽象类
Jan 28 #PHP
认识并使用PHP超级全局变量
Jan 26 #PHP
php 静态变量与自定义常量的使用方法
Jan 26 #PHP
php学习之 认清变量的作用范围
Jan 26 #PHP
PHP 变量的定义方法
Jan 26 #PHP
php cout&amp;lt;&amp;lt;的一点看法
Jan 24 #PHP
You might like
CodeIgniter 完美解决URL含有中文字符串
2016/05/13 PHP
PHP解耦的三重境界(浅谈服务容器)
2017/03/13 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
2017/05/05 PHP
PHP实现小程序批量通知推送
2018/11/27 PHP
javascript操作cookie_获取与修改代码
2009/05/21 Javascript
js对象关系图 方便dom操作
2012/03/18 Javascript
jquery动画3.创建一个带遮罩效果的图片走廊
2012/08/24 Javascript
jquery实现图片翻页效果
2013/12/23 Javascript
jquery使用ajax实现微信自动回复插件
2014/04/28 Javascript
node.js中的http.response.write方法使用说明
2014/12/14 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
BootStrap 表单控件之单选按钮水平排列
2017/05/23 Javascript
jquery append与appendTo方法比较
2017/05/24 jQuery
js禁止浏览器页面后退功能的实例(推荐)
2017/09/01 Javascript
JavaScript实现职责链模式概述
2018/01/25 Javascript
微信小程序模版渲染详解
2018/01/26 Javascript
vue引入axios同源跨域问题
2018/09/27 Javascript
在微信小程序中使用vant的方法
2019/06/07 Javascript
layer.alert回调函数执行关闭弹窗的实例
2019/09/11 Javascript
python开启多个子进程并行运行的方法
2015/04/18 Python
Python最基本的输入输出详解
2015/04/25 Python
Python实现二叉堆
2016/02/03 Python
python中的格式化输出用法总结
2016/07/28 Python
python绘制多个子图的实例
2019/07/07 Python
python实现桌面气泡提示功能
2019/07/29 Python
jupyter 导入csv文件方式
2020/04/21 Python
办公室保洁员岗位职责
2013/12/02 职场文书
公司成立感言
2014/01/11 职场文书
大学生作弊检讨书
2014/02/19 职场文书
微笑面对生活演讲稿
2014/09/23 职场文书
六查六看自查报告
2014/10/14 职场文书
烈士陵园观后感
2015/06/08 职场文书
JavaWeb 入门篇:创建Web项目,Idea配置tomcat
2021/07/16 Java/Android
解决Mysql多行子查询的使用及空值问题
2022/01/22 MySQL
在Windows Server 2012上安装 .NET Framework 3.5 所遇到的问题
2022/04/29 Servers
MySQL性能指标TPS+QPS+IOPS压测
2022/08/05 MySQL