一尘不染

将PHP字符串传递给JavaScript变量(并转义换行符)

javascript

这个问题已经在这里有了答案

如何将变量和数据从PHP传递到JavaScript? (20个答案)

5年前关闭。

编码PHP字符串以输出到JavaScript变量的最简单方法是什么?

我有一个包含引号和换行符的PHP字符串。我需要将此字符串的内容放入JavaScript变量中。

通常,我只是将我的JavaScript构造在一个PHP文件中,例如:

<script>
  var myvar = "<?php echo $myVarValue;?>";
</script>

但是,当$myVarValue包含引号或换行符时,这将不起作用。


阅读 361

收藏
2020-04-22

共1个答案

一尘不染

扩展别人的答案:

<script>
  var myvar = <?php echo json_encode($myVarValue); ?>;
</script>

使用json_encode()需要:

  • PHP 5.2.0或更高版本
  • $myVarValue 编码为UTF-8(当然也可以是US-ASCII)

由于UTF-8支持完整的Unicode,因此可以安全地进行即时转换。

请注意,因为json_encode转义符是正斜杠,所以即使包含的字符串也</script>将被安全转义,以便使用脚本块进行打印。

2020-04-22