JavaScript过滤方法:
第一种方案:使用 htmlspecialchars 函数转换特殊字符和使用 nl2br 函数插入一些必要的 <br /> 标签。
1 $comment = <<<eof 2 <script type="text/javascript"> 3 while (true) { 4 alert(‘我弹!‘); 5 } 6 </script> 7 eof; //假如 $comment 就是评论内容 8 $comment = nl2br(htmlspecialchars($comment)); //过滤javascript代码 9 echo $comment;
输出结果为:
<script type="text/javascript"><br /> while (true) {<br /> alert(‘我弹!‘);<br /> }<br /> </script>
第二种方案:把评论内容中出现的所有的<script...>,</script>去掉。
1 $comment = preg_replace("/<[^><]*script[^><]*>/i",‘‘,$comment); //把评论内容中出现的所有的<script...>,</script>去掉
输出结果为:
while (true) { alert(‘我弹!‘); }
HTML过滤方法:
第一种方案:直接把<>这样的符号转义掉,或者直接删除掉都是可以的。
1 $comment = preg_replace("/<[\/\!]*?[^<>]*?>/si",‘‘,$comment);
第二种方案:使用 strip_tags() 函数即可。
1 <?php 2 echo strip_tags("Hello <b>world!</b>"); 3 ?>
时间: 2024-10-05 15:26:32