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

在给一个 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(phpdaily)

原文发表时间:2015-07-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏xcywt

《Linux命令行与shell脚本编程大全》第十一章 构建基本脚本

11.1使用多个命令 $date;who   //  命令列表,加入分号就可以,这样会依次执行。参见5.2.1节 注意区分$(date;who),这个是进程列表...

1787
来自专栏安恒网络空间安全讲武堂

bugkuctf_web_writeup(部分)--上

bugkuctf平台10个较简单的web题目writeup,适合新手入门,可以找来试试http://ctf.bugku.com/bbs 。 Web2 题目描述:...

8325
来自专栏锦小年的博客

python学习笔记9.2-文件及文件夹操作

本文主要介绍python对文件以及文件夹的操作,主要涉及到文件的创建、读取、文件内容的修改、删除,文件夹的索引、目录的判断等等。此节内容非常重要,是以后编程的基...

1906
来自专栏Linux驱动

第1阶段——uboot分析之仿照bootm制作hello命令(7)

仿照bootm命令生成来制作一个hello命令,功能:打印出hello,world!和参数值 1.点击New File ,创建cmd_hello.c 将./co...

16510
来自专栏月牙寂

Gorilla源码分析之gorilla/mux源码分析

第一时间获取文章,可以关注本人公众号 月牙寂道长 yueyajidaozhang

29910
来自专栏玄魂工作室

如何学python 第十五课 脚本结构与linux下的编辑与执行

第十五课 脚本结构与linux下的编辑与执行 今天我们不讲具体的python技巧。今天讲讲在linux下,从脚本创建到执行的过程。如果需要看win下的,可以留言...

32614
来自专栏搞前端的李蚊子

微信返回码说明

返回码说明 返回码    说明 -1     系统繁忙 0     请求成功 40001     验证失败 40002     不合法的凭证类型 40003  ...

2786
来自专栏性能与架构

理解 Linux shell 中的一个方言:2>&1

前言 在使用 linux 命令或者 shell 编程时,这个用法常会遇到 2>&1 如果是刚开始接触Linux,这个东西的确不好理解,因为他没有直观的含义,不像...

26012
来自专栏Java开发者杂谈

Python(2):创建函数模块

说明: 在使用python的时候我们除了使用内置的函数之外,可能还需要使用一些别人写的函数。或者我们写的代码也希望可以给其他人使用。要实现这样的功能,我们就需要...

32412
来自专栏菩提树下的杨过

bash/shell编程学习(2)

注:linux中有一个经典名言【一切皆文件】,/dev/null可以认为是一个特殊的空文件,更形象点,可以理解为科幻片中的黑洞,任何信息重向定输出到它后,便有去...

283

扫描关注云+社区