老版本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 相关文章推荐
用cookies来跟踪识别用户
Oct 09 PHP
用PHP和ACCESS写聊天室(八)
Oct 09 PHP
PHP-MySQL教程归纳总结
Jun 07 PHP
php xml留言板 xml存储数据的简单例子
Aug 24 PHP
微博短链接算法php版本实现代码
Sep 15 PHP
判断php数组是否为索引数组的实现方法
Jun 13 PHP
php防注入及开发安全详细解析
Aug 09 PHP
php实现mysql封装类示例
May 07 PHP
深入理解PHP 数组之count 函数
Jun 13 PHP
php 函数使用可变数量的参数方法
May 02 PHP
php+Ajax处理xml与json格式数据的方法示例
Mar 04 PHP
PHP 8新特性简介
Aug 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
关于PHP实现异步操作的研究
2013/02/03 PHP
PHP调用MySQL存储过程并返回值的方法
2014/12/26 PHP
PHP+jQuery翻板抽奖功能实现
2015/10/19 PHP
新手入门常用代码集锦
2007/01/11 Javascript
js中根据字数截取字符串,不能截断url
2012/01/12 Javascript
JavaScript插件化开发教程(六)
2015/02/01 Javascript
requireJS使用指南
2016/04/27 Javascript
jQuery中使用animate自定义动画的方法
2016/05/29 Javascript
bootstrap滚动监控器使用方法解析
2017/01/13 Javascript
Angular2学习教程之ng中变更检测问题详解
2017/05/28 Javascript
Webpack如何引入bootstrap的方法
2017/06/17 Javascript
vue实现跨域的方法分析
2019/05/21 Javascript
python实现BackPropagation算法
2017/12/14 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
python ChainMap 合并字典的实现步骤
2019/06/11 Python
wxPython:python首选的GUI库实例分享
2019/10/05 Python
使用turtle绘制五角星、分形树
2019/10/06 Python
解决python彩色螺旋线绘制引发的问题
2019/11/23 Python
python实现将两个文件夹合并至另一个文件夹(制作数据集)
2020/04/03 Python
python和go语言的区别是什么
2020/07/20 Python
Python接口自动化测试的实现
2020/08/28 Python
Pytorch 图像变换函数集合小结
2021/02/01 Python
html5 实现客户端验证上传文件的大小(简单实例)
2016/05/15 HTML / CSS
波比布朗英国官网:Bobbi Brown英国
2017/11/13 全球购物
最新会计专业求职信范文
2014/01/28 职场文书
高中生物教学反思
2014/02/05 职场文书
元旦红领巾广播稿
2014/02/19 职场文书
英语求职信范文
2014/05/23 职场文书
我的职业生涯规划:打造自己的运动帝国
2014/09/18 职场文书
人事行政助理岗位职责
2015/04/11 职场文书
学校捐书倡议书
2015/04/27 职场文书
2016年学习贯彻十八届五中全会精神心得体会
2016/01/05 职场文书
赞美教师的句子
2019/09/02 职场文书
学会Python数据可视化必须尝试这7个库
2021/06/16 Python
python中的random模块和相关函数详解
2022/04/22 Python
MySQL 语句执行顺序举例解析
2022/06/05 MySQL