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样式标签:
- <?php
- $str = preg_replace( "@<script(.*?)</script>@is", "", $str );
- $str = preg_replace( "@<iframe(.*?)</iframe>@is", "", $str );
- $str = preg_replace( "@<style(.*?)</style>@is", "", $str );
- $str = preg_replace( "@<(.*?)>@is", "", $str );
- ?>
自定义函数:
- function uh($str)
- {
- $farr = array(
- "/s+/",
- //过滤多余的空白
- "/<(/?)(script|i?frame|style|html|body|title|link|meta|?|%)([^>]*?)>/isu",
- //过滤 <script 等可能引入恶意内容或恶意改变显示布局的代码,如果不需要插入flash等,还可
- 以加入<object的过滤
- "/(<[^>]*)on[a-za-z]+s*=([^>]*>)/isu",
- //过滤网页特效的on事件
- );
- $tarr = array(
- " ",
- "<123>", //如果要直接清除不安全的标签,这里可以留空
- "12", //phpfensi.com
- );
- $str = preg_replace( $farr,$tarr,$str);
- return $str;
- }