如何通过HTML将带有单引号的JSON从PHP传递到Javascript

How to pass JSON with single quote from PHP to Javascript through HTML?

本文关键字:PHP Javascript JSON HTML 何通过 单引号      更新时间:2023-09-26

我正试图通过HTML将PHP代码中的一些文本传递给Javascript。除非文本中只有一句引号,否则效果良好。以下是我的做法:

<script>
     var t = '<?php echo json_encode(an array containing text "he's here");?>';
</script>

我尝试将php echo周围的单引号改为双引号。但是,JSON当然使用双引号,所以我也遇到了同样的问题。

您需要使用json_encode常量json_HEX_APOS作为第二个参数,它将把所有单引号转换为''u0027。:

var t = <?php echo json_encode($data,JSON_HEX_APOS);?>;

然后使用encode()和decode()javascript函数将每个数组条目中的文本转换回可读文本,如本例所示http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_unescape

删除php 周围的单引号

<script type="text/javascript">
    var t = <?php echo json_encode(array("text"=>"he's here"));?>;
</script>

它将创建t变量作为

Object {text: "he's here"}