过滤危险/恶意HTML脚本的一个函数

使用一些Web HTML所见即所得的编辑器tinymce,fck等等,往往我们要过滤掉一些文件的标示和脚本如:
<?php .... ?>
<frame>....</frame>
等等
由于以前的代码丢失后重新写了个,欢迎大家测试.
复制PHP内容到剪贴板
PHP代码:
/**
 * FilterHtml
 * 作用:过滤字符串中一些恶意或者危险的内容.
 * 注意:未经完全测试,某些情况下可能无法过滤完整.
 * 作者:lazy
 * 联系:supporter@qq.com
 */
    function filter_html($String){
        $Filter[0] = "/<(?:link|script|frame|iframe|frameset)[^>]*>.*?<\/(?:link|script|frame|iframe|frameset)\s*>/is";
        $Filter[1] = "/<(?:frameset|script|iframe|frame|link)[^>]*>/is";
        $Filter[2] = "/<a\s*href=\s*['|\"|j|v].*?script:[^>]*>.*?<\/a>/is";
        $Filter[3] = "/<[a-z]+\s*(?:onerror|onload|onunload|onresize|onblur|onchange|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousemove|onmousedown|onmouseout|onmouseover|onmouseup|onselect)[^>]*>/is";
        return preg_replace($Filter,"",$String);
    }

PS:依旧失业ing.那家深圳的公司需要初级PHPER请联系我->Mail:supporter@qq.com
^_^!

[ 本帖最后由 lazy 于 2007-12-18 07:17 编辑 ]

作者: lazy   发布时间: 2007-12-18

注意前个版本有bug无法在php5下使用并且效率很低.
有下载或者复制的请使用这最新编辑过的.

作者: lazy   发布时间: 2007-12-18

应鼓励原创精品。

作者: luzhou   发布时间: 2007-12-18

支持一下

作者: dzjzmj   发布时间: 2007-12-18