如何为Javascript数组()的使用准备PHP变量
How to prepare PHP variable for Javascript array() use?
假设我们有输入字段或文本区域,用户可以在其中放置任何内容。这意味着用户可以放在那里:
- 文本
- 空白
- 多线
- 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数据结构,同时使其可以安全地注入HTML文档中的脚本元素(通过转义斜杠)。
<script>
var data = <?php echo json_encode($data); ?> ;
</script>
使用PHP函数urlencode(…)或者需要更高级保护的base64_encode(…)。
我通常使用urlencode,在Javascript方面使用unescape来解码URL格式的数据。
相关文章:
- 将PHP变量传递给jQuery时遇到问题
- 通过javascript重定向html传递php变量
- 如何在php变量中嵌入JQuery代码
- 在javascript函数中使用php变量
- 将地理编码结果转换为php变量以发布到mysql数据库
- JavaScript,PHP-用JavaScript将多个数据库记录发送到变量或表
- 如何将变量php传递给javascript
- 显示动态变量(php和javascript)的总数
- 传递变量PHP、Javascript location.reload和HTML输入
- 需要将变量 php 的值传递给 javascript,但我不能
- 将变量从 .html 传递到太大而无法容纳在 URL 中的变量.php
- 如何在函数中传递javascript中的变量php
- 在Jquery中插入变量PHP
- 选择正确的变量 php/javascript
- 将HTML存储在变量PHP中,然后回显它
- 将变量PHP Smarty传递给Javascript
- 传递HTML表单post数据到不同的文件/网页javascript变量(php)
- 问题与传递变量(php, sql, jquery拖拽)
- 设置PHP中的javascaript变量(PHP在javascript中)
- 将变量php问题化为代码jquery