php jsonp单引号转义
发布时间:2016-12-29 来源:查字典编辑
摘要:php中jsonp输出时一般用下面的格式:复制代码代码如下:callbackname('jsonstring');如果中间的jsonstri...
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);
然后再输出。