php jsonp单引号转义

Doria ·
更新时间:2024-11-13
· 654 次阅读

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);

然后再输出。

您可能感兴趣的文章:PHP使用json_encode函数时不转义中文的解决方法php5.4以下版本json不支持不转义内容中文的解决方法老版本PHP转义Json里的特殊字符的函数



jsonp 引号 转义 PHP

需要 登录 后方可回复, 如果你还没有账号请 注册新账号