将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()需要:

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

由于utf-8完全支持unicode,在飞翔上转换应该是安全的.

请注意,因为json_encode转义正斜杠,所以即使包含</script>的字符串也可以安全转义,以便使用脚本挡路打印.

Javascript相关问答推荐

使用useup时,React-Redux无法找到Redux上下文值

如何用显示网格平滑地将元素从一个地方移动到另一个地方?

jQuery提交按钮重新加载页面,即使在WordPress中使用preventDefault()

TypeScript索引签名模板限制

在服务器上放置了Create Reaction App Build之后的空白页面

处理时间和字符串时MySQL表中显示的日期无效

Websocket错误—有一个或多个保留位开启:reserved1 = 1,reserved2 = 0,reserved3 = 0

对网格项目进行垂直排序不起作用

禁用.js文件扩展名并从目录导入隐式根index.js时,找不到NodeJS导入模块

当用户点击保存按钮时,如何实现任务的更改?

在不删除代码的情况下禁用Java弹出功能WordPress

为什么云存储中的文件不能公开使用?

如何在Java脚本中对列表中的特定元素进行排序?

判断函数参数的类型

JavaScript&;Reaction-如何避免在不使用字典/对象的情况下出现地狱?

如何在下一个js中更改每个标记APEXCHARTS图表的 colored颜色

将Singleton实例设置为未定义后的Angular 变量引用持久性行为

将匿名函数附加到链接的onClick属性

如何在preLoad()中自定义p5.js默认加载动画?

观察子组件中的@Output事件emits 器?