老版本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自定义函数格式化json数据示例
本文实例讲述了PHP自定义函数格式化json数据的方法.分享给大家供大家参考,具体如下: <?php /** * Formats a JSON string for pretty printing * * @param string $json The JSON to make pretty * @param bool $html Insert nonbreaking spaces and <br />s for tabs and linebreaks * @return string
-
php格式化json函数示例代码
本文讲述了php格式化json函数的示例代码.分享给大家供大家参考,具体如下: <?php $arr = array("ret"=>0,"data"=>array('a' => 1, 'b' => '2', 'c' => 3, 'd' => 4, 'e' => 5)); $json = json_encode($arr); /** * Formats a JSON string for pretty printing
-
Javascript生成json的函数代码(可以用php的json_decode解码)
但是有个问题 虽然JS解码JSON非常方便,但是编码似乎没有什么好办法- 本着能懒即懒,不能懒也尽量懒的原则,古狗了一下 还真让我发现了 PHP里直接用json_decode就可以解码,用起来相当方便 复制代码 代码如下: function json_encode_js(aaa){ function je(str){ var a=[],i=0; var pcs="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
-
php json相关函数用法示例
本文实例讲述了php json相关函数用法.分享给大家供大家参考,具体如下: 函数列表: 函数 描述 json_encode 对变量进行json编码 json_decode 对json格式的字符串进行解码,转换为php变量 json_last_error 返回最后发生的错误 For example 1: json_encode $arr=array("A"=>"a","B"=>"b","C"=&
-
PHP使用json_encode函数时不转义中文的解决方法
本文实例讲述了PHP使用json_encode函数时不转义中文的解决方法.分享给大家供大家参考.具体方法如下: json_encode函数对于gbk中的中文字符是不会转换的或直接转换成空格了,本文就来给各位整理一个关于json不转义中文问题处理技巧,相信对大家有所帮助. 如果你调用 PHP 自带的 json_encode() 函数, 碰到中文时, 中文会被转义掉. 例如: 复制代码 代码如下: echo json_encode(array('你好')); // 输出: ["\u4f60\u597
-
java解析php函数json_encode unicode 编码问题
android开发中在和服务器端接口对接时出现编码问题,从服务器端获取到的数据是 "\u8bbe\u59071ID-\u8bbe\u59071\u540d\u79f0;\u8bbe\u59073id-\u8bbe\u59073\u540d\u79f0;\u8bbe\u59077id-\u8bbe\u59077\u540d\u79f0" 接口是通过php函数中json_encode进行编码后返回的,在客户端通过java.net.URLdecoder.decode()解码不管用,但是直接将
-
PHP json_encode() 函数详解及中文乱码问题
在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它. 这个函数的功能是将数值转换成json数据存储格式. <?php $arr = array ( 'Name'=>'希亚', 'Age'=> ); $jsonencode = json_encode($arr); echo $jsonencode; ?> 程序运行结果如下: {"Name":null,"Age&
-
关于php中的json_encode()和json_decode()函数的一些说明
一,json语法( php中的json_decode($json)中的$json要符合json语法格式 ) ① JSON可以表示三种类型的值 1,简单值.包括整型,字符串型,布尔值和null.例如:5,"hello world",true,null都是有效的JSON数据.其中JSON字符串必须使用双引号(单引号会导致语法错误). 2,对象.如,{"name":"tony","age":15}.说明①要求属性必须用双引号(不加或
-
PHP json_decode函数详细解析
一.函数简介1.此函数有四个参数,一般在使用时会用到前两个,具体的参数可以看手册. 2.第一个参数是json格式的字符串,第二个参数是boolean值(false转化成对象,true转化成数组,默认false),如果转化失败返回null. 二.遇到的问题在项目中调用了java写的一个web服务,返回的数据是"{'stauts':'1','message':'充值成功'}". 程序接到后用json_decode把结果转化成数组,但转化的结果是null,太奇怪了. 看了一下手册,在手册中发
-
php返回json数据函数实例
本文实例讲述了php返回json数据函数的用法,分享给大家供大家参考.具体方法如下: json_encode()函数用法: echo json_encode(array('a'=>'bbbb','c'=>'ddddd'); 这样就会生成一个标准的json格式的数据 <?php //需要执行的SQL语句 //单条 $sql="select id,name from tbl_user where id=1"; //多条数据 //$sql="select id,n
-
php5.2以下版本无json_decode函数的解决方法
今天写代码的时候,需要用到json_decode函数,发现php5.2以前的版本没有集成这个函数,不过我们可以通过自定义函数实现. 复制代码 代码如下: function json_decode2($json){$comment = false;$out = '$x='; for ($i=0; $i<strlen($json); $i++){if (!$comment){if (($json[$i] == '{') || ($json[$i] == '[')) $out .= ' array('
-
php json_encode()函数返回json数据实例代码
json_encode()函数用法. echo json_encode(array('a'=>'bbbb','c'=>'ddddd'); 这样就会生成一个标准的json格式的数据 代码如下 <?php //需要执行的SQL语句 //单条 $sql="select id,name from tbl_user where id=1"; //多条数据 //$sql="select id,name from tbl_user"; //调用conn.php文
随机推荐
- 转载一个别人收藏的精典网站Ruby,HIBERNATE相关
- 将2003里多用户目录与IIS里的FTP对等起来,互相通用
- C++类模板与模板类深入详解
- js实现带搜索功能的下拉框实时搜索实时匹配
- asp.net2.0中css失效的解决方法
- 使用C语言来扩展Python程序和Zope服务器的教程
- Android编程重写ViewGroup实现卡片布局的方法
- 图片上传之前检查大小、尺寸、格式并预览的js代码
- CSS小例子(只显示下划线的文本框,像文字一样的按钮)
- 浅谈js继承的实现及公有、私有、静态方法的书写
- JSP+jquery使用ajax方式调用json的实现方法
- 探讨JQUERY JSON的反序列化类 using问题的解决方法
- Mybatis 一对多和多对一关联查询问题
- 头文件不宜定义变量的原因全面解析
- PHP实现链式操作的核心思想
- Python实现PS滤镜碎片特效功能示例
- C#实现简易猜数字游戏
- spring整合atomikos实现分布式事务的方法示例
- Python制作微信好友背景墙教程(附完整代码)
- 20道JS原理题助你面试一臂之力(必看)