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

2022-08-29 23:30:20

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

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

通常,我只是在PHP文件中构建我的JavaScript,例如:

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

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


答案 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>


答案 2

使用 JSON 对其进行编码