老版本PHP转义Json里的特殊字符的函数


Posted in PHP onJune 08, 2015

在给一个 App 做 API,从服务器端的 MySQL 取出数据,然后生成 JSON。数据中有个字段叫 content,里面保存了文章内容,含有大量 HTML 标签,这个字段在转 json 的时候需要转义,因为有大量的特殊字符会破坏 json 的结构。

比如这么一段 content:

'Lorem ipsum "dolor" sit amet, consectetur \ adipiscing elit.'

则必须要转化为:

Lorem ipsum \"dolor\" sit amet,\nconsectetur \\ adipiscing elit.

如果 PHP 版本 > 5.2,json_encode 自带转义。如果是旧版本的 PHP 则可以用下面的函数。

# list from www.json.org: (\b backspace, \f formfeed)
public function escapeJsonString($value) {
  $escapers = array("\\", "/", "\"", "\n", "\r", "\t", "\x08", "\x0c");
  $replacements = array("\\\\", "\\/", "\\\"", "\\n", "\\r", "\\t", "\\f", "\\b");
  $result = str_replace($escapers, $replacements, $value);
  return $result;
}

经常会用到,记录一下,希望对你有帮助。

PHP 相关文章推荐
PHP写UltraEdit插件脚本实现方法
Dec 26 PHP
VIM中设置php自动缩进为4个空格的方法详解
Jun 14 PHP
PHP实现读取一个1G的文件大小
Aug 24 PHP
修改apache配置文件去除thinkphp url中的index.php
Jan 17 PHP
php页面缓存方法小结
Jan 10 PHP
分享下php5类中三种数据类型的区别
Jan 26 PHP
php获取当月最后一天函数分享
Feb 02 PHP
深入理解PHP变量的值类型和引用类型
Oct 21 PHP
thinkphp跨库操作的简单代码实例
Sep 22 PHP
详解Yii2 之 生成 URL 的方法
Jun 16 PHP
PHP html_entity_decode()函数讲解
Feb 25 PHP
PHP实现对数字分隔加千分号的方法
Mar 18 PHP
php查询whois信息的方法
Jun 08 #PHP
Yii获取当前url和域名的方法
Jun 08 #PHP
在Linux系统的服务器上隐藏PHP版本号的方法
Jun 06 #PHP
phpcms手机内容页面添加上一篇和下一篇
Jun 05 #PHP
DEDECMS首页调用图片集里的多张图片
Jun 05 #PHP
php比较相似字符串的方法
Jun 05 #PHP
浅谈PHP接收POST数据方式
Jun 05 #PHP
You might like
Uncaught exception com_exception with message Failed to create COM object
2012/01/11 PHP
完美的2个php检测字符串是否是utf-8编码函数分享
2014/07/28 PHP
简单实现php上传文件功能
2017/09/21 PHP
50个优秀经典PHP算法大集合 附源码
2020/08/26 PHP
Avengerls vs Newbee BO3 第二场2.18
2021/03/10 DOTA
运用Windows XP附带的Msicuu.exe、Msizap.exe来彻底卸载顽固程序
2007/04/21 Javascript
js操作二级联动实现代码
2010/07/27 Javascript
Iframe自适应高度绝对好使的代码 兼容IE,遨游,火狐
2011/01/27 Javascript
jquery如何获取复选框的值
2013/12/12 Javascript
在javascript中如何得到中英文混合字符串的长度
2014/01/17 Javascript
页面内容排序插件jSort使用方法
2015/10/10 Javascript
Javascript设计模式之观察者模式(推荐)
2016/03/29 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
2016/03/30 Javascript
深入理解requestAnimationFrame的动画循环
2016/09/20 Javascript
JavaScript中的this陷阱的最全收集并整理(没有之一)
2017/02/21 Javascript
详解webpack-dev-server使用http-proxy解决跨域问题
2018/01/13 Javascript
Node.js使用MySQL连接池的方法实例
2018/02/11 Javascript
微信小程序签到功能
2018/10/31 Javascript
Vue组件化开发之通用型弹出框的实现
2020/02/28 Javascript
uni-app如何页面传参数的几种方法总结
2020/04/28 Javascript
在vue中使用Echarts利用watch做动态数据渲染操作
2020/07/20 Javascript
js实现自定义滚动条的示例
2020/10/27 Javascript
利用soaplib搭建webservice详细步骤和实例代码
2013/11/20 Python
Python的动态重新封装的教程
2015/04/11 Python
Python中用post、get方式提交数据的方法示例
2017/09/22 Python
python正则表达式面试题解答
2020/04/28 Python
Python中的TCP socket写法示例
2018/05/11 Python
pygame游戏之旅 添加游戏介绍
2018/11/20 Python
利用纯html5绘制出来的一款非常漂亮的时钟
2015/01/04 HTML / CSS
物业工作计划书
2014/01/10 职场文书
物流专员岗位职责
2014/02/17 职场文书
餐饮商业计划书范文
2014/04/29 职场文书
群众路线个人对照检查材料
2014/09/23 职场文书
幼儿园辞职书
2015/02/26 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书
python 爬取吉首大学网站成绩单
2021/06/02 Python