您的位置:首页 > 编程语言 > PHP开发

php----过滤函数

2011-01-12 17:51 155 查看
/**

     * Remove HTML tags, including invisible text such as style and

     * script code, and embedded objects.  Add line breaks around

     * block-level tags to prevent word joining after tag removal.

     */

    public function strip_html_tags( $text )

    {

        $text = preg_replace(

            array(

              // Remove invisible content

                '@<head[^>]*?>.*?</head>@siu',

                '@<style[^>]*?>.*?</style>@siu',

                '@<script[^>]*?.*?</script>@siu',

                '@<object[^>]*?.*?</object>@siu',

                '@<embed[^>]*?.*?</embed>@siu',

                '@<applet[^>]*?.*?</applet>@siu',

                '@<noframes[^>]*?.*?</noframes>@siu',

                '@<noscript[^>]*?.*?</noscript>@siu',

                '@<noembed[^>]*?.*?</noembed>@siu',

              // Add line breaks before and after blocks

                '@</?((address)|(blockquote)|(center)|(del))@iu',

                '@</?((div)|(h[1-9])|(ins)|(isindex)|(p)|(pre))@iu',

                '@</?((dir)|(dl)|(dt)|(dd)|(li)|(menu)|(ol)|(ul))@iu',

                '@</?((table)|(th)|(td)|(caption))@iu',

                '@</?((form)|(button)|(fieldset)|(legend)|(input))@iu',

                '@</?((label)|(select)|(optgroup)|(option)|(textarea))@iu',

                '@</?((frameset)|(frame)|(iframe))@iu',

            ),

            array(

                ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',

                "/n/$0", "/n/$0", "/n/$0", "/n/$0", "/n/$0", "/n/$0",

                "/n/$0", "/n/$0",

            ),

            $text );

        return strip_tags( $text );

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息