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

问题描述

扩展别人的答案:

<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>将被安全转义以使用脚本块进行打印。

解决方法

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

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

通常,我会在 PHP 文件中构建我的 JavaScript,脿 la:

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

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