php jsonp单引号转义

 更新时间:2014年11月23日 15:58:02   投稿:hebedich  
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);

然后再输出。

相关文章

  • thinkPHP简单调用函数与类库的方法

    thinkPHP简单调用函数与类库的方法

    这篇文章主要介绍了thinkPHP简单调用函数与类库的方法,简单讲述了thinkPHP公共函数库的文件位置并结合实例分析了类库的调用方法,需要的朋友可以参考下
    2017-03-03
  • thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)

    thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)

    这篇文章主要介绍了thinkPHP连接sqlite3数据库的实现方法,涉及thinkPHP的数据库相关配置技巧,并附带了Thinkphp代码生成器供读者下载使用,需要的朋友可以参考下
    2016-05-05
  • Laravel实现搜索的时候分页并携带参数

    Laravel实现搜索的时候分页并携带参数

    今天小编就为大家分享一篇Laravel实现搜索的时候分页并携带参数,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • Yii中表单用法实例详解

    Yii中表单用法实例详解

    这篇文章主要介绍了Yii中表单用法,结合实例形式较为详细的分析总结了Yii针对表单的各种常用操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-01-01
  • 使用SMB共享来绕过php远程文件包含的限制执行RFI的利用

    使用SMB共享来绕过php远程文件包含的限制执行RFI的利用

    我们将绕过php远程文件包含的限制,并执行RFI的利用,即使PHP环境被配置为不包含来自远程HTTP/FTP URL的文件。对此文感兴趣的朋友跟随小编一起看看吧
    2019-05-05
  • ThinkPHP3.1.x修改成功与失败跳转页面的方法

    ThinkPHP3.1.x修改成功与失败跳转页面的方法

    这篇文章主要介绍了ThinkPHP3.1.x修改成功与失败跳转页面的方法,涉及thinkPHP底层源文件中相关跳转代码的设置与修改操作技巧,需要的朋友可以参考下
    2017-09-09
  • PHP dirname(__FILE__)原理及用法解析

    PHP dirname(__FILE__)原理及用法解析

    这篇文章主要介绍了PHP dirname(__FILE__)原理及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • ThinkPHP5.1+Ajax实现的无刷新分页功能示例

    ThinkPHP5.1+Ajax实现的无刷新分页功能示例

    这篇文章主要介绍了ThinkPHP5.1+Ajax实现的无刷新分页功能,结合实例形式详细分析了ThinkPHP5.1+Ajax无刷新分页具体原理、前台数据发送与后台处理相关操作技巧,需要的朋友可以参考下
    2020-02-02
  • Yii2简单实现给表单添加验证码的方法

    Yii2简单实现给表单添加验证码的方法

    这篇文章主要介绍了Yii2简单实现给表单添加验证码的方法,简单分析了Yii中控制器的相关设置、表单模型的创建及视图的调用技巧,需要的朋友可以参考下
    2016-07-07
  • PHP培训要多少钱

    PHP培训要多少钱

    好多同学会加入到互联网行业,最好的入门可能就是学习PHP、web前端等。那今天我就回答一下大家php培训多少钱
    2017-06-06

最新评论