当前位置:Gxlcms > PHP教程 > phpjsonp单引号转义

phpjsonp单引号转义

时间:2021-07-01 10:21:17 帮助过:26人阅读

PHP单引号及双引号均可以修饰字符串类型的数据,如果修饰的字符串中含有变量(例$name);最大的区别是: 双引号会替换变量的值,而单引号会把它当做字符串输出。

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 jsonp单引号转义,包括了jsonp单引号转义方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

人气教程排行