将PHP字符串编码为输出到JavaScript变量的最简单方法是什么?
我有一个包含引号和换行符的PHP字符串.我需要将此字符串的内容放入一个JavaScript变量.
通常,我只在PHP文件中构造我的JavaScript,就像这样:
<script>
var myvar = "<?php echo $myVarValue;?>";
</script>
但是,当$myVarValue
包含引号或换行符时,这不起作用.
将PHP字符串编码为输出到JavaScript变量的最简单方法是什么?
我有一个包含引号和换行符的PHP字符串.我需要将此字符串的内容放入一个JavaScript变量.
通常,我只在PHP文件中构造我的JavaScript,就像这样:
<script>
var myvar = "<?php echo $myVarValue;?>";
</script>
但是,当$myVarValue
包含引号或换行符时,这不起作用.
扩展其他人的答案:
<script>
var myvar = <?php echo json_encode($myVarValue); ?>;
</script>
使用json_encode()需要:
$myVarValue
编码为UTF-8(当然也可以是US-ASCII)由于utf-8完全支持unicode,在飞翔上转换应该是安全的.
请注意,因为json_encode
转义正斜杠,所以即使包含</script>
的字符串也可以安全转义,以便使用脚本挡路打印.