日期:2010-03-09  浏览次数:20438 次

实际需要写的一个 ASP.NET 清除 HTML 标记的函数,给大家一起学习一下,相信大家都能看懂。

以下为引用的内容:
//清除HTML函数 
    public static string NoHTML(string Htmlstring) 
    { 

        //删除脚本 

        Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase); 

        //删除HTML 

        Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase); 

        Htmlstring = Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "", RegexOptions.IgnoreCase); 

        Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase); 

        Htmlstring = Regex.Replace(Htmlstring, @"<!--.*", "", RegexOptions.IgnoreCase); 

        Htmlstring = Regex.Replace(Htmlstring, @"&(quot#34);", "\"", RegexOptions.IgnoreCase); 

        Htmlstring = Regex.Replace(Htmlstring, @"&(amp#38);", "&", RegexOptions.IgnoreCase); 

        Htmlstring = Regex.Replace(Htmlstring, @"&(lt#60);", "<", RegexOptions.IgnoreCase); 

        Htmlstring = Regex.Replace(Htmlstring, @"&(gt#62);", ">", RegexOptions.IgnoreCase); 

        Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp#160);", " ", RegexOptions.IgnoreCase); 

        Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl#161);", "\xa1", RegexOptions.IgnoreCase); 

        Htmlstring = Regex.Replace(Htmlstring, @"&(cent#162);", "\xa2", RegexOptions.IgnoreCase); 

        Htmlstring = Regex.Replace(Htmlstring, @"&(pound#163);", "\xa3", RegexOptions.IgnoreCase); 

        Htmlstring = Regex.Replace(Htmlstring, @"&(copy#169);", "\xa9", RegexOptions.IgnoreCase); 
        Htmlstring = Regex.Replace(Htmlstring, @"&#(\d+);", "", RegexOptions.IgnoreCase);

        Htmlstring.Replace("<", "");

        Htmlstring.Replace(">", "");

        Htmlstring.Replace("\r\n", "");

        Htmlstring = HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim();

        return Htmlstring;

    }