将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相关问答推荐

在nodejs中渲染网页时永远不会结束加载图标

用逗号分隔的双向绑定字符串

Javascript 通过从数组值中仅选择真值来更改值

如何在 p5js 中的视频上叠加形状?

如何使用 Jquery 访问 JSON 的“对象”部分?

我如何在这个动画 blob 中移动与“blob”的“交互”?

ObjectSpaceNormalMap 不适用于 MeshNormalMaterial

如何对齐左侧、叠加和全高侧导航菜单

如何确保使用 Firebase 仅处理一次作业(job)

如何将下拉菜单与按钮对齐

像stackoverflow这样的textarea预览有

Google OAuth2 出现问题(应用没有后端,因此只有客户端)

当我在 rxjs 的管道中遇到错误时如何执行“取消订阅”?

javascript中的第n个子选择器

TypeError: doc 不是 addSubCollectionDocument 中的函数

在查询中遇到子选择,但store 没有对象引用.有Angular 的

使用 JavaScript/React 过滤 API 响应

运行 setTimeout 并更改时间值

停止使用 javascript 循环音频但完成播放迭代

有没有办法重新加载页面,然后立即打开一个模式?