javascript - 将带有双引号的字符串作为参数从 php 传递到 javascript

标签 javascript php html mysql ajax

我一直在试图解决这个问题,但我不知道我做错了什么,或者也许我错过了一些东西。

我正在尝试传递一个包含双引号的字符串,该字符串是我从数据库中检索到的,并将其显示在 textarea 中。

情况示例如下所示:

<?php
   $content = '<div align="center"><b>This is a sample content.</b></div>';
   echo '<textarea id="myTextArea"></textarea>';
   echo '<button onclick="myFunction('.$content.')">Click me</button>';
?>

<script>
  function myFunction(content){
    document.getElementById("myTextArea").innerHTML = content;
  }
</script>

预期结果应该是 myTextArea 应包含文本,但结果显示:

Output

非常感谢您的帮助。

最佳答案

您应该使用 htmlspecialchars 引用您的输出(),这样它就变成了:

<?php
   $content = "<div align=\"center\"><b>This is a sample content.</b></div>";
   echo '<textarea id="myTextArea"></textarea>';
   echo '<button onclick="myFunction(\''.htmlspecialchars($content).'\')">Click me</button>';
?>

<script>
  function myFunction(content){
    document.getElementById("myTextArea").innerHTML = content;
  }
</script>

关于javascript - 将带有双引号的字符串作为参数从 php 传递到 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47648943/

相关文章:

javascript - 从位于另一个 div 之上的 div 获取点击事件

javascript - 为什么 Google 的 Analytics 跟踪代码首先执行?

php - 使 Doctrine 的 UniqueEntity 约束不区分大小写

html - 使用 css 隐藏展开的文本节点

javascript - 未捕获的类型错误 : Cannot set property 'backgroundImage' of undefined althout js is called after page loads

javascript - 谷歌图表 : Line Chart hAxis Labels centered

php - Yii2:如何强制使用后备 MessageFormatter 方法?

用于签名 32 int 的 PHP pack() 格式 - 大端

html - 如何使用 Pre 标签限制 HTML 中的分词

javascript - 如何使用 HTML 5(最好)或 javascript(无 jquery)限制文本输入仅接受字母 M 和 F