老版本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制作静态网站的模板框架(一)
Oct 09 PHP
php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
May 16 PHP
PHP fopen 读取带中文URL地址的一点见解
Sep 25 PHP
利用php绘制饼状图的实现代码
Jun 07 PHP
php中调用其他系统http接口的方法说明
Feb 28 PHP
php的XML文件解释类应用实例
Sep 22 PHP
ThinkPHP3.2.3数据库设置新特性
Mar 05 PHP
php简单获取文件扩展名的方法
Mar 24 PHP
利用PHP如何实现Socket服务器
Sep 23 PHP
PHP读取并输出XML文件数据的简单实现方法
Dec 22 PHP
详解thinkphp中的volist标签
Jan 15 PHP
Yii2.0建立公共方法简单示例
Jan 29 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/06/20 PHP
php判断一个数组是否为有序的方法
2015/03/27 PHP
php array_merge函数使用需要注意的一个问题
2015/03/30 PHP
php转换颜色为其反色的方法
2015/04/27 PHP
PHP获取input输入框中的值去数据库比较显示出来
2016/11/16 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
在IE下获取object(ActiveX)的Param的代码
2009/09/15 Javascript
js+数组实现网页上显示时间/星期几的实用方法
2013/01/18 Javascript
JQuery验证jsp页面属性是否为空(实例代码)
2013/11/08 Javascript
jQuery实现切换字体大小的方法
2015/03/10 Javascript
JavaScript中的acos()方法使用详解
2015/06/14 Javascript
javascript控制图片播放的实现代码
2020/07/29 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
2016/01/05 Javascript
详解nodejs与javascript中的aes加密
2016/05/22 NodeJs
Bootstrap模态框插入视频的实现代码
2017/06/25 Javascript
详解Vue.js项目API、Router配置拆分实践
2018/03/16 Javascript
php中and 和 &&出坑指南
2018/07/13 Javascript
JavaScript实现获取两个排序数组的中位数算法示例
2019/02/26 Javascript
vue组件命名和props命名代码详解
2019/09/01 Javascript
使用Vue调取接口,并渲染数据的示例代码
2019/10/28 Javascript
Javascript如何实现扩充基本类型
2020/08/26 Javascript
netbeans7安装python插件的方法图解
2013/12/24 Python
VSCode下配置python调试运行环境的方法
2018/04/06 Python
django rest framework 数据的查找、过滤、排序的示例
2018/06/25 Python
opencv3/python 鼠标响应操作详解
2019/12/11 Python
python实现梯度法 python最速下降法
2020/03/24 Python
Python3与fastdfs分布式文件系统如何实现交互
2020/06/23 Python
使用css3实现的tab选项卡代码分享
2014/12/09 HTML / CSS
购买限量版收藏品、珠宝和礼品:Bradford Exchange
2016/09/23 全球购物
亚马逊意大利站点:Amazon.it
2020/12/31 全球购物
初任培训自我鉴定
2013/10/07 职场文书
董事长职责范文
2013/11/08 职场文书
小学开学典礼主持词
2014/03/19 职场文书
北京故宫导游词
2015/01/31 职场文书
班主任远程培训研修日志
2015/11/13 职场文书
Mysql 如何查询时间段交集
2021/06/08 MySQL