欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php jsonp单引号转义

程序员文章站 2022-06-29 14:37:36
php中jsonp输出时一般用下面的格式: 复制代码 代码如下: callbackname('json string'); 如果中间的json string中含有...

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

然后再输出。