在给一个 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 json转义字符函数,PHP转义Json里的特殊字符的函数相关推荐

  1. php mysql json 转义字符_PHP转义Json里的特殊字符的函数

    在给一个 App 做 API,从服务器端的 MySQL 取出数据,然后生成 JSON.数据中有个字段叫 content,里面保存了文章内容,含有大量 HTML 标签,这个字段在转 json 的时候需要 ...

  2. PHP转义Json里的特殊字符的函数

    在给一个 App 做 API,从服务器端的 MySQL 取出数据,然后生成 JSON.数据中有个字段叫 content,里面保存了文章内容,含有大量 HTML 标签,这个字段在转 json 的时候需要 ...

  3. php json 特殊字符,PHP转义Json里的特殊字符的函数

    在给一个 App 做 API,从服务器端的 MySQL 取出数据,然后生成 JSON.数据中有个字段叫 content,里面保存了文章内容,含有大量 HTML 标签,这个字段在转 json 的时候需要 ...

  4. matlab中dither 函数,(转)matlab里一些简单的函数

    matlab之基本绘图函数 clear:清空内存中的变量: figure:强制生成一个新的个绘图窗口: syms x y t :声明变量: fplot(函数表达式,绘图区间): plot(横坐标向量, ...

  5. JS函数curry(柯里化)

    原文地址:http://blog.jobbole.com/77956/ 什么是柯里化? 柯里化是这样的一个转换过程,把接受多个参数的函数变换成接受一个单一参数(译注:最初函数的第一个参数)的函数,如果 ...

  6. php 函数命名 特殊字符,php 特殊字符处理函数

    php 特殊字符处理函数 发布于 2014-09-27 23:15:58 | 202 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext Prepro ...

  7. python笔记22-literal_eval函数处理返回json中的单双引号

    前言 在做接口测试的时候,最常见的接口返回数据就是json类型,json类型数据实际上就是字串,通常标准的json格式是可以转化成python里面的对应的数据类型的 有时候开发返回的数据比较坑,不按常 ...

  8. python中的json函数_python中装饰器、内置函数、json的详解

    装饰器 装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象. 先看简单例子: def run(): time.sleep(1 ...

  9. json string 格式_python中json函数的用法

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写. json函数 使用 JSON 函数需要导入 json 库:import json. 函 ...

最新文章

  1. 如何提高Linux下块设备IO的整体性能?
  2. Java StringBuffer的用法
  3. 【CSDN】图片居中与调整大小
  4. colab长时间处于正在连接
  5. 进程状态转换(了解)
  6. Windows 10三月更新补丁竟高达3.99TB
  7. 147_Power BI Report Server demo演示
  8. 【报告分享】2020数据治理年度报告:规则的激荡与新生.pdf(附下载链接)
  9. php中unset函数是在哪一章_PHP引用(amp;)使用详解
  10. loadrunner 一个诡异问题
  11. MySQL用什么输入法_最好用的输入法是什么?
  12. 如何使用 FFMpeg 在 Node.js 中将音频从 Wav 转换为 MP3
  13. Typora插入图片问题
  14. 全球及中国中线静脉插管行业研究及十四五规划分析报告
  15. HarmonyOS:ListContainer实现表格
  16. 【AI产品】认猫、认花、认车、认吃,请认准识别全能王
  17. SQL注入漏洞测试(参数加密)
  18. 宕昌一中2021高考成绩查询,有朋自远方来 | 甘肃省陇南市宕昌一中来广元中学考察交流...
  19. DJI M210+manifold 2C配置
  20. logback异步输出日志详解

热门文章

  1. C#中async/await中的异常处理
  2. 2021年双十一大复盘:众人唱衰双十一,我们却发现了这些机会
  3. 2021母婴行业洞察报告.pdf(附下载链接)
  4. 网易严选搜索推荐实践之:“全能选手”召回表征算法实践
  5. DeepWalk: Online Learning of Social Representations-2
  6. javascript的jQuery库小结(1)
  7. android常用的工厂模式,Android的设计模式-简单工厂模式
  8. 12年外贸婚纱跨境老司机分享独立站推广引流实操干货
  9. 跨境电商为什么要用ERP系统?
  10. 读书笔记——计算机组成原理