PHP实现JS中escape与unescape的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了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 = '徐州市 【宜配屋www.yipeiwu.com】 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
徐州市 【宜配屋www.yipeiwu.com】 1234
徐州市 【宜配屋www.yipeiwu.com】 1234
%u5f90%u5dde%u5e02 %u811a%u672c%u4e4b%u5bb6 1234

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP中json格式数据操作技巧汇总》、《PHP错误与异常处理方法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

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

相关文章

简单谈谈PHP中的Reload操作

前言 有很多前辈告诫过我们,reload 能保证整个过程的平滑性,所谓平滑性指的是在 reload 的过程中,旧的进程在处理完当前请求前不会提前终止。很多年来,我从来没有质疑过这种说法,...

解析php中heredoc的使用方法

Heredoc技术,在正规的PHP文档中和技术书籍中一般没有详细讲述,只是提到了这是一种Perl风格的字符串输出技术。但是现在的一些论坛程 序,和部分文章系统,都巧妙的使用heredoc...

PHP 解决session死锁的方法

今天在开发碰到个棘手的问题 。当异步请求后台处理一个大数据量操作时  请求其他控制器都没返回信息了。。起初以为是Ext 框架设置了ajax同步造成的。后来发现时session...

如何解决PHP无法实现多线程的问题

有没有办法在PHP中实现多线程呢?假设你正在写一个基于多台服务器的PHP应用,理想的情况时同时向多台服务器发送请求,而不是一台接一台。可以实现吗?当有人想要实现并发功能时,他们通常会想到...

php采用curl模仿登录人人网发布动态的方法

本文实例讲述了php采用curl模仿登录人人网发布动态的方法。分享给大家供大家参考。具体实现方法如下: 说到php中模仿登录很多人第一时间会想到curl函数系列了,这个没错本例子也是使用...