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

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

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

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

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

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


一只斗牛犬
浏览 1899回答 4
4回答

米脂

扩展别人的答案:<script> &nbsp;&nbsp;var&nbsp;myvar&nbsp;=&nbsp;<?php&nbsp;echo&nbsp;json_encode($myVarValue);&nbsp;?>;</script>使用json_encode()需要:PHP 5.2.0或更高版本$myVarValue&nbsp;编码为UTF-8(当然还有US-ASCII)由于UTF-8支持完整的Unicode,因此动态转换应该是安全的。请注意,因为json_encode转义正斜杠,即使包含的字符串</script>也会安全地转义,以便使用脚本块进行打印。

九州编程

用JSON编码

开心每一天1111

我遇到过类似的问题,并了解以下是最佳解决方案:<script> &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;myvar&nbsp;=&nbsp;decodeURIComponent("<?php&nbsp;echo&nbsp;rawurlencode($myVarValue);&nbsp;?>");</script>但是,micahwittman发布的链接表明存在一些较小的编码差异。PHP的rawurlencode()功能应该符合RFC 1738,而Javascript似乎没有这样的努力decodeURIComponent()。
打开App,查看更多内容
随时随地看视频慕课网APP