php jsonp单引号转义

前端技术 2023/09/07 PHP

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

然后再输出。

本文地址:https://www.stayed.cn/item/17726

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。