PHP实现JS中escape与unescape的方法


Posted in PHP onJuly 11, 2016

本文实例讲述了PHP实现JS中escape与unescape的方法。分享给大家供大家参考,具体如下:

JavaScript中的escape和unescape是吧字符串转换为unicode十六进制编码,跟JSON的编码格式是一样的,所以可以通过PHP中的json_encode和json_decode实现PHP版本的escape和unescape.

代码如下:

<?php
function escape($str) {
  return str_replace('\\', '%', substr(json_encode($str), 1, -1));
}
function unescape($str) {
  return json_decode('"'.str_replace('%', '\\', $str).'"');
}
$str = '%u5f90%u5dde%u5e02 %u811a%u672c%u4e4b%u5bb6 1234';
$str_escape = '徐州市 三水点靠木 1234';
echo "$str<br>\n$str_escape<br>\n";
echo unescape($str), "<br>\n";
echo escape($str_escape), "<br>\n";

运行结果如下:

%u5f90%u5dde%u5e02 %u811a%u672c%u4e4b%u5bb6 1234
徐州市 三水点靠木 1234
徐州市 三水点靠木 1234
%u5f90%u5dde%u5e02 %u811a%u672c%u4e4b%u5bb6 1234

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
一个简单的域名注册情况查询程序
Oct 09 PHP
完美解决dedecms中的[html][/html]和[code][/code]问题
Mar 20 PHP
php 3行代码的分页算法(求起始页和结束页)
Oct 21 PHP
一个PHP分页类的代码
May 18 PHP
MySQL连接数超过限制的解决方法
Jul 17 PHP
php中AES加密解密的例子小结
Feb 18 PHP
Codeigniter(CI)框架分页函数及相关知识
Nov 03 PHP
php数组索引与键值操作技巧实例分析
Jun 24 PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
Apr 07 PHP
PHP 用session与gd库实现简单验证码生成与验证的类方法
Nov 15 PHP
PHP中上传文件打印错误错误类型分析
Apr 14 PHP
PHP封装cURL工具类与应用示例
Jul 01 PHP
php处理复杂xml数据示例
Jul 11 #PHP
php的debug相关函数用法示例
Jul 11 #PHP
php错误日志简单配置方法
Jul 11 #PHP
PHP进行批量任务处理不超时的解决方法
Jul 11 #PHP
PHP封装的数据库保存session功能类
Jul 11 #PHP
php中array_column函数简单实现方法
Jul 11 #PHP
PHP针对字符串开头和结尾的判断方法
Jul 11 #PHP
You might like
php判断字符以及字符串的包含方法属性
2008/08/30 PHP
php封装的验证码类分享
2017/02/26 PHP
PHP与SQL语句写一句话木马总结
2019/10/11 PHP
使用新的消息弹出框blackbirdjs
2008/10/16 Javascript
用JavaScript显示随机图像或引用
2009/04/21 Javascript
javascript下判断一个对象是否具有指定名称的属性的的代码
2010/01/11 Javascript
JQuery为textarea添加maxlength属性并且兼容IE
2013/04/25 Javascript
GridView中获取被点击行中的DropDownList和TextBox中的值
2013/07/18 Javascript
css+js实现部分区域高亮可编辑遮罩层
2014/03/04 Javascript
avalonjs实现仿微博的图片拖动特效
2015/05/06 Javascript
JS中的进制转换以及作用
2016/06/26 Javascript
json定义及jquery操作json的方法
2016/10/03 Javascript
js模糊查询实例分享
2016/12/26 Javascript
jquery实现拖动效果(代码分享)
2017/01/25 Javascript
Node.js环境下Koa2添加travis ci持续集成工具的方法
2017/06/19 Javascript
全选复选框JavaScript编写小结(附代码)
2017/08/16 Javascript
通过循环优化 JavaScript 程序
2019/06/24 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
2019/08/27 Javascript
vue 开发企业微信整合案例分析
2019/12/02 Javascript
JS实现简单日历特效
2020/01/03 Javascript
JS面向对象实现飞机大战
2020/08/26 Javascript
基于Python如何使用AIML搭建聊天机器人
2016/01/27 Python
Python 转义字符详细介绍
2017/03/21 Python
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
Python程序员面试题 你必须提前准备!(答案及解析)
2018/01/23 Python
Python基于dom操作xml数据的方法示例
2018/05/12 Python
终端命令查看TensorFlow版本号及路径的方法
2018/06/13 Python
python+jinja2实现接口数据批量生成工具
2019/08/28 Python
pyspark给dataframe增加新的一列的实现示例
2020/04/24 Python
医学生实习自荐信
2013/10/01 职场文书
高校毕业生登记表自我鉴定
2013/11/03 职场文书
写给老婆的检讨书
2014/02/21 职场文书
2014年学校德育工作总结
2014/12/05 职场文书
诚实守信主题班会
2015/08/13 职场文书
一个家长教育孩子的心得体会
2016/01/15 职场文书
Linux磁盘管理方法介绍
2022/06/01 Servers