gpt4 book ai didi

php - 如何为 Javascript array() 使用准备 PHP 变量?

转载 作者:行者123 更新时间:2023-11-30 07:43:10 24 4
gpt4 key购买 nike

假设我们有输入字段或文本区域,用户可以在其中放置任何内容。这意味着用户可以放在那里:

  • 正文
  • 空格
  • 多行
  • HTML 标签
  • 单引号和双引号
  • 斜线
  • 等等...

我当前的代码是这样做的:<?php $data = addslashes($content_of_input); ?>

不久之后...

<?php
$php_generate_javascriptArray .='
javascriptArray[0] ="'.$data.'";
';
?>
<script>
javascriptArray = [];
<?php echo $php_generate_javascriptArray; ?>
</script>

不幸的是,添加斜杠是不够的 - 当用户将多行或 HTML 链接放入其中时,Javascript 会中断。有什么方法可以防止这种情况发生并且仍然允许 Javascript 数组包含链接、多行、HTML 标记?我正在寻找一些通用过滤器。

最佳答案

json_encode将 PHP 数据结构(或字符串或数字)转换为适当的 JavaScript 数据结构,同时使其安全地注入(inject) HTML 文档中的脚本元素(通过转义斜杠)。

<script>
var data = <?php echo json_encode($data); ?> ;
</script>

关于php - 如何为 Javascript array() 使用准备 PHP 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12317140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com