老版本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的access操作类
Apr 09 PHP
php 向访客和爬虫显示不同的内容
Nov 09 PHP
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
Sep 07 PHP
php中判断文件存在是用file_exists还是is_file的整理
Sep 12 PHP
关于二级目录拖拽排序的实现(源码示例下载)
Apr 26 PHP
使用PHP导出Redis数据到另一个Redis中的代码
Mar 12 PHP
PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例
Apr 14 PHP
YII框架中使用memcache的方法详解
Aug 02 PHP
PHP单例模式实例分析【防继承,防克隆操作】
May 22 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
Oct 03 PHP
Yii框架自定义数据库操作组件示例
Nov 11 PHP
PHP获取学生成绩的方法
Nov 17 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
提问的智慧
2006/10/09 PHP
深入解析php中的foreach函数
2013/08/31 PHP
yii2实现根据时间搜索的方法
2016/05/25 PHP
Zend Framework框架中实现Ajax的方法示例
2017/06/27 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
2019/02/15 PHP
Yii框架函数简单用法分析
2019/09/09 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
Javascript开发包大全整理
2006/12/22 Javascript
代码触发js事件(click、change)示例应用
2013/12/13 Javascript
JS获取客户端IP地址、MAC和主机名的7个方法汇总
2014/07/21 Javascript
webapp框架AngularUI的demo改造之路
2014/12/21 Javascript
10条建议帮助你创建更好的jQuery插件
2015/05/18 Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
2015/10/25 Javascript
jQuery EasyUI中DataGird动态生成列的方法
2016/04/05 Javascript
数组Array的排序sort方法
2017/02/17 Javascript
Angular.js自定义指令学习笔记实例
2017/02/24 Javascript
轻松理解JavaScript闭包
2017/03/14 Javascript
jQuery ajax请求struts action实现异步刷新
2017/04/19 jQuery
[01:29:42]Liquid vs VP Supermajor决赛 BO 第一场 6.10
2018/07/05 DOTA
python线程锁(thread)学习示例
2013/12/04 Python
python操作摄像头截图实现远程监控的例子
2014/03/25 Python
Python中unittest用法实例
2014/09/25 Python
Python实现截屏的函数
2015/07/26 Python
Python利用turtle库绘制彩虹代码示例
2017/12/20 Python
Python格式化输出%s和%d
2018/05/07 Python
Django+zTree构建组织架构树的方法
2019/08/21 Python
Python如何把多个PDF文件合并代码实例
2020/02/13 Python
Python QT组件库qtwidgets的使用
2020/11/02 Python
python爬虫scrapy图书分类实例讲解
2020/11/23 Python
pycharm如何设置官方中文(如何汉化)
2020/12/29 Python
html5实现移动端适配完美写法
2017/11/16 HTML / CSS
德国电子产品购物网站:TechInTheBasket德国
2018/12/07 全球购物
小学教师事迹材料
2014/01/13 职场文书
行政内勤岗位职责
2014/04/07 职场文书
健康教育主题班会
2015/08/14 职场文书