老版本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 相关文章推荐
将word转化为swf 如同百度文库般阅读实现思路及代码
Aug 09 PHP
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
Jun 12 PHP
浅析ThinkPHP的模板输出功能
Jul 01 PHP
php+mysql实现的二级联动菜单效果详解
May 10 PHP
PHP制作登录异常ip检测功能的实例代码
Nov 16 PHP
PHP+mysql实现从数据库获取下拉树功能示例
Jan 06 PHP
php如何实现不借助IDE快速定位行数或者方法定义的文件和位置
Jan 17 PHP
PHP性能分析工具xhprof的安装使用与注意事项
Dec 19 PHP
PHP从尾到头打印链表实例讲解
Sep 27 PHP
PHP反射学习入门示例
Jun 14 PHP
PHP 并发场景的几种解决方案
Jun 14 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
Oct 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
xajax写的留言本
2006/11/25 PHP
PHP 批量删除数据的方法分析
2009/10/30 PHP
PHP中使用GD库创建圆形饼图的例子
2014/11/19 PHP
将PHP的session数据存储到数据库中的代码实例
2016/06/24 PHP
Yii框架实现图片上传的方法详解
2017/05/20 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
2017/09/30 PHP
javascript实现的使用方向键控制光标在table单元格中切换
2010/11/17 Javascript
表单JS弹出填写提示效果代码
2011/04/16 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
2015/08/26 Javascript
JS实现点击登录弹出窗口同时背景色渐变动画效果
2016/03/25 Javascript
基于JS实现checkbox全选功能实例代码
2016/10/31 Javascript
jquery ajax异步提交表单数据的方法
2017/10/27 jQuery
JavaScript 判断对象中是否有某属性的常用方法
2018/06/14 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
javascript随机变色实例代码
2019/10/15 Javascript
Vue 监听元素前后变化值实例
2020/07/29 Javascript
[46:23]完美世界DOTA2联赛PWL S2 FTD vs Magma 第一场 11.20
2020/11/23 DOTA
python面向对象_详谈类的继承与方法的重载
2017/06/07 Python
python3连接MySQL数据库实例详解
2018/05/24 Python
详解Django中六个常用的自定义装饰器
2018/07/04 Python
如何在python中实现随机选择
2019/11/02 Python
Django使用list对单个或者多个字段求values值实例
2020/03/31 Python
python导入库的具体方法
2020/06/18 Python
python 实现一个图形界面的汇率计算器
2020/11/09 Python
html5的websockets全双工通信详解学习示例
2014/02/26 HTML / CSS
处理textarea中的换行和空格
2019/12/12 HTML / CSS
商务会议邀请函
2014/01/09 职场文书
社区工作者先进事迹
2014/01/18 职场文书
《第一次抱母亲》教学反思
2014/04/16 职场文书
小学生操行评语大全
2014/04/22 职场文书
2014领导干部四风问题查摆思想汇报
2014/09/13 职场文书
建设办主任四风问题整改思路和措施
2014/09/20 职场文书
党小组评议意见
2015/06/02 职场文书
Python-OpenCV教程之图像的位运算详解
2021/06/21 Python
MySQL去除密码登录告警的方法
2022/04/20 MySQL