本文为大家讲解的是php jsonp单引号转义的实现方法,以示例的方式向大家进行了讲解,感兴趣的同学参考下。 JSONP(JSON with Padding)是一个非官方的协议,他的实现方式大致就是:让客户端决定要回调的Javascript函数名,在第三方服务端将 JSON 数据拼装到回调函数名中,返回的就是参数为JSON数据的函数调用脚本,浏览器加载脚本并执行达到获取第三方数据的目的
本文为大家讲解的是php jsonp单引号转义的实现方法,以示例的方式向大家进行了讲解,感兴趣的同学参考下。
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);
然后再输出。
声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!