老版本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 simple_html_dom.php+正则 采集文章代码
Dec 24 PHP
php in_array 函数使用说明与in_array需要注意的地方说明
Apr 13 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
Mar 06 PHP
精美漂亮的php分页类代码
Apr 02 PHP
php实现的zip文件内容比较类
Sep 24 PHP
PHP整合七牛实现上传文件
Jul 03 PHP
jQuery向下滚动即时加载内容实现的瀑布流效果
Jan 07 PHP
PHP6新特性分析
Mar 03 PHP
php版微信自动登录并获取昵称的方法
Sep 23 PHP
PHP数据库操作三:redis用法分析
Aug 16 PHP
PHP迭代器和生成器用法实例分析
Sep 28 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
Nov 23 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的session功能评述(二)
2006/10/09 PHP
php读取javascript设置的cookies的代码
2010/04/12 PHP
PHP字符串逆序排列实现方法小结【strrev函数,二分法,循环法,递归法】
2017/01/13 PHP
extjs 学习笔记(一) 一些基础知识
2009/10/13 Javascript
HTML node相关的一些资料整理
2010/01/01 Javascript
关于js类的定义
2011/06/28 Javascript
extjs 初始化checkboxgroup值的代码
2011/09/21 Javascript
Extjs NumberField后面加单位实现思路
2013/07/30 Javascript
jQuery关于导航条背景切换效果实现示例
2013/09/04 Javascript
js实现全屏漂浮广告移入光标停止移动
2013/12/02 Javascript
jQuery 动态云标签插件
2014/11/11 Javascript
JS判断日期格式是否合法的简单实例
2016/07/11 Javascript
关于JSON与JSONP简单总结
2016/08/16 Javascript
老生常谈jquery中detach()和remove()的区别
2017/03/02 Javascript
Bootstrap fileinput文件上传组件使用详解
2017/06/06 Javascript
一个简易的js图片轮播效果
2017/07/22 Javascript
让bootstrap的carousel支持滑动滚屏的实现代码
2017/11/27 Javascript
vue学习教程之带你一步步详细解析vue-cli
2017/12/26 Javascript
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
2018/08/28 jQuery
Javascript新手入门之字符串拼接与变量的应用
2020/12/03 Javascript
Python的净值数据接口调用示例分享
2016/03/15 Python
PyQt4实现下拉菜单可供选择并打印出来
2018/04/20 Python
python 多进程并行编程 ProcessPoolExecutor的实现
2019/10/11 Python
python之列表推导式的用法
2019/11/29 Python
在tensorflow中实现去除不足一个batch的数据
2020/01/20 Python
Python如何使用turtle库绘制图形
2020/02/26 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
2020/04/24 Python
修复iPhone的safari浏览器上submit按钮圆角bug
2012/12/24 HTML / CSS
解决CSS3的opacity属性带来的层叠顺序问题
2016/05/09 HTML / CSS
StubHub新西兰:购买和出售你的门票
2019/04/22 全球购物
俄罗斯有趣和原创礼物网上商店:MagicMag
2019/08/01 全球购物
关于爱情的广播稿
2014/01/16 职场文书
七年级政治教学反思
2014/02/03 职场文书
2014年党的群众路线整改措施思想汇报
2014/10/12 职场文书
完美处理python与anaconda环境变量的冲突问题
2021/04/07 Python
Django项目如何正确配置日志(logging)
2021/04/29 Python