PHP:过滤html标签的函数

过滤html标签在php中太简单了,我们可以直接使用strip_tags函数来实现了,下面给各位整理了一些关于 strip_tags函数的例子.

php过滤html的函数:strip_tags(string)

这样就可以过滤掉所有的html标签了,如果想过滤掉除了<img src="">之外的所有html标签,则可以这样写:strip_tags(string,"<img>");

过滤除了<img src=""><p>xxx</p><b></b>之外的所有html标签,则可以这样写:

strip_tags(string,"<img><p><b>");

php有效的过滤html标签,js代码,css样式标签:

  1. <?php
  2. $str = preg_replace( "@<script(.*?)</script>@is", "", $str );
  3. $str = preg_replace( "@<iframe(.*?)</iframe>@is", "", $str );
  4. $str = preg_replace( "@<style(.*?)</style>@is", "", $str );
  5. $str = preg_replace( "@<(.*?)>@is", "", $str );
  6. ?>

自定义函数:

  1. function uh($str)
  2. {
  3. $farr = array(
  4. "/s+/",
  5. //过滤多余的空白
  6. "/<(/?)(script|i?frame|style|html|body|title|link|meta|?|%)([^>]*?)>/isu",
  7. //过滤 <script 等可能引入恶意内容或恶意改变显示布局的代码,如果不需要插入flash等,还可
  8. 以加入<object的过滤
  9. "/(<[^>]*)on[a-za-z]+s*=([^>]*>)/isu",
  10. //过滤网页特效的on事件
  11. );
  12. $tarr = array(
  13. " ",
  14. "<123>", //如果要直接清除不安全的标签,这里可以留空
  15. "12", //phpfensi.com
  16. );
  17. $str = preg_replace( $farr,$tarr,$str);
  18. return $str;
  19. }