php jsonp单引号转义
发布:smiling 来源: PHP粉丝网 添加日期:2021-04-28 20:49:20 浏览: 评论:0
JSONP(JSON with Padding)是一个非官方的协议,他的实现方式大致就是:让客户端决定要回调的Javascript函数名,在第三方服务端将 JSON 数据拼装到回调函数名中,返回的就是参数为JSON数据的函数调用脚本,浏览器加载脚本并执行达到获取第三方数据的目的。
php中jsonp输出时一般用下面的格式:
callbackname('json string');
如果中间的json string中含有单引号,这个输出就是有问题的,调用方一般是无法处理的,所以我们要对单引号进行转义。
如果是用json_encode方式生成可以用下面的方式转义:
- $ret = json_encode($result, JSON_HEX_APOS);
- header('Content-Type: text/javascript; charset=utf-8');
- echo $callback . '(\'' . $ret . '\');';
这里 JSON_HEX_APOS 是php是提供的把单引号换为 \u0027 了。
如果是字符串拼接的,可以用下面的方式:
$jsonData = preg_replace('/\'/', '\u0027', $jsonData);
然后再输出。
Tags: jsonp php单引号转义
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)