《Web开发过滤Javascript、HTML的方法》

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;

输出结果为:

&lt;script type=&quot;text/javascript&quot;&gt;<br />
while (true) {<br />
    alert('我弹!');<br />
}<br />
&lt;/script&gt;

第二种方案:把评论内容中出现的所有的<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 ?>
原文地址:https://www.cnblogs.com/likar/p/5537372.html