老版本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 相关文章推荐
Search Engine Friendly的URL设计
Oct 09 PHP
PHP如何编写易读的代码
Jul 10 PHP
php 上传功能实例代码
Apr 13 PHP
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
Sep 19 PHP
php多层数组与对象的转换实例代码
Aug 05 PHP
PHP生成不同颜色、不同大小的tag标签函数
Sep 23 PHP
php输入流php://input使用示例(php发送图片流到服务器)
Dec 25 PHP
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
Jan 31 PHP
php 判断网页是否是utf8编码的方法
Jun 06 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
Oct 23 PHP
PHP里的单例类写法实例
Jun 25 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
Oct 08 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
PHP4 与 MySQL 数据库操作函数详解
2006/10/09 PHP
浅析php中三个等号(===)和两个等号(==)的区别
2013/08/06 PHP
php数组冒泡排序算法实例
2016/05/06 PHP
PHP编程计算日期间隔天数的方法
2017/04/26 PHP
php简单实现单态设计模式的方法分析
2017/07/28 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
2020/02/27 PHP
JavaScript 参考教程
2006/12/29 Javascript
javascript document.images实例
2008/05/27 Javascript
为JavaScript提供睡眠功能(sleep) 自编译JS引擎
2010/08/16 Javascript
html的DOM中document对象anchors集合用法实例
2015/01/21 Javascript
js字符串截取函数slice、substring和substr的比较
2016/05/17 Javascript
js字符串引用的两种方式(必看)
2016/09/18 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
jQuery实现简易的输入框字数计数功能示例
2017/01/16 Javascript
js手机号4位显示空格,银行卡每4位显示空格效果
2017/03/23 Javascript
vue-cli如何引入bootstrap工具的方法
2017/10/19 Javascript
微信小程序组件之srcoll-view的详解
2017/10/19 Javascript
详解使用vuex进行菜单管理
2017/12/21 Javascript
使用vue-router切换页面时,获取上一页url以及当前页面url的方法
2019/05/06 Javascript
基于javascript处理nginx请求过程详解
2020/07/07 Javascript
[01:00:53]OG vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
使用python编写脚本获取手机当前应用apk的信息
2014/07/21 Python
使用py2exe在Windows下将Python程序转为exe文件
2016/03/04 Python
Python实现的矩阵类实例
2017/08/22 Python
python中lower函数实现方法及用法讲解
2020/12/23 Python
CSS3简单实现照片墙
2014/12/12 HTML / CSS
Banana Republic英国官网:香蕉共和国,GAP集团旗下偏贵族风
2018/04/24 全球购物
Puma印度官网:德国运动品牌
2019/10/06 全球购物
税务专业毕业生自荐信
2013/11/10 职场文书
某同学的自我鉴定范文
2013/12/26 职场文书
二年级体育教学反思
2014/01/15 职场文书
奥林匹克运动会口号
2014/06/19 职场文书
2014年圣诞节寄语
2014/12/08 职场文书
创业计划书详解
2019/07/19 职场文书
http通过StreamingHttpResponse完成连续的数据传输长链接方式
2022/02/12 Python
Python时间操作之pytz模块使用详解
2022/06/14 Python