老版本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数据函数的用法,分享给大家供大家参考.具体方法如下: 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
-
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"=&
-
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() 函数详解及中文乱码问题
在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它. 这个函数的功能是将数值转换成json数据存储格式. <?php $arr = array ( 'Name'=>'希亚', 'Age'=> ); $jsonencode = json_encode($arr); echo $jsonencode; ?> 程序运行结果如下: {"Name":null,"Age&
-
PHP json_decode函数详细解析
一.函数简介1.此函数有四个参数,一般在使用时会用到前两个,具体的参数可以看手册. 2.第一个参数是json格式的字符串,第二个参数是boolean值(false转化成对象,true转化成数组,默认false),如果转化失败返回null. 二.遇到的问题在项目中调用了java写的一个web服务,返回的数据是"{'stauts':'1','message':'充值成功'}". 程序接到后用json_decode把结果转化成数组,但转化的结果是null,太奇怪了. 看了一下手册,在手册中发
-
PHP使用json_encode函数时不转义中文的解决方法
本文实例讲述了PHP使用json_encode函数时不转义中文的解决方法.分享给大家供大家参考.具体方法如下: json_encode函数对于gbk中的中文字符是不会转换的或直接转换成空格了,本文就来给各位整理一个关于json不转义中文问题处理技巧,相信对大家有所帮助. 如果你调用 PHP 自带的 json_encode() 函数, 碰到中文时, 中文会被转义掉. 例如: 复制代码 代码如下: echo json_encode(array('你好')); // 输出: ["\u4f60\u597
-
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
-
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()函数返回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文
-
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_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数据示例
本文实例讲述了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
随机推荐
- HTTP协议详解_动力节点Java学院整理
- jQuery实现带滚动线条导航效果的方法
- 在linux中安装mongodb的方式小结
- SSH框架网上商城项目第23战之在线支付功能实现
- 全面解析Java观察者模式
- JavaScript实现简单图片滚动附源码下载
- Python模拟登录验证码(代码简单)
- Golang极简入门教程(二):方法和接口
- js 变量类型转换常用函数与代码[比较全]
- 如何实现表格中行点击时的渐扩效果!
- 标准布局常见问题及解决办法
- 基于mvc5+ef6+Bootstrap框架实现身份验证和权限管理
- Mysql Binlog快速遍历搜索记录及binlog数据查看的方法
- 2013年什么时候数九 三九天(数九天)从哪天开始
- VBS教程:方法-Raise 方法
- SQL2008的sa账户被禁用其他账户无法连接的快速解决方法
- 基于C++语言实现机动车违章处罚管理系统
- JS效率个人经验谈(8-15更新),加入range技巧
- 详解JS-- 浮点数运算处理
- JavaScript 数组some()和filter()的用法及区别