作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我们有输入字段或文本区域,用户可以在其中放置任何内容。这意味着用户可以放在那里:
我当前的代码是这样做的:<?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/
我是一名优秀的程序员,十分优秀!