PHP JSON字符串,对JS输出进行转义双引号

我正在从PHP数组创建JSON字符串。我已经使用对其进行了编码json_encode()

$data = array(

'title' => 'Example string\'s with "special" characters'

);

$data = json_encode( $data );

$data使用进行本地化wp_localize_script(),并可以通过全局data变量进行访问。

在JS文件中,我可以通过以下方式访问信息:

var data     = data.replace( /"/g, '"' ),

jsonData = jQuery.parseJSON( data );

console.log( jsonData );

结果是:

{ "title":"Example string's with "special" characters" }

将结果输入http://jsonlint.com/会返回错误。删除“特殊”两边的双引号可验证字符串。

从PHP创建JSON字符串并正确转义以供JS文件使用的最佳方法是什么?

回答:

来自http://www.php.net/manual/zh/function.json-

encode.php#100565

就是说,引号“会产生无效的JSON,但这仅是一个问题,如果您使用的是json_encode()并且只希望PHP神奇地转义您的引号。您需要自己进行转义。

以上是 PHP JSON字符串,对JS输出进行转义双引号 的全部内容, 来源链接: utcz.com/qa/428494.html

回到顶部