你的位置:首页 > ASP.net教程

[ASP.net教程]C#过滤html标签


C#过滤html标签

    在项目中遇到这样一个需求,需要将一段html转换为一般文本返回,万能的正则表达式来了。

    正则表达式来拯救你,代码如下:

 1 public static string Html2Text(string htmlStr) 2  3 { 4  5   if (String.IsNullOrEmpty(htmlStr)) 6  7   { 8  9     return "";10 11   }12 13   string regEx_style = "<style[^>]*?>[\\s\\S]*?<\\/style>"; //定义style的正则表达式 14 15   string regEx_script = "<script[^>]*?>[\\s\\S]*?<\\/script>"; //定义script的正则表达式  16 17   string regEx_html = "<[^>]+>"; //定义HTML标签的正则表达式  18 19   htmlStr = Regex.Replace(htmlStr, regEx_style, "");//删除css20 21   htmlStr = Regex.Replace(htmlStr, regEx_script, "");//删除js22 23   htmlStr = Regex.Replace(htmlStr, regEx_html, "");//删除html标记24 25   htmlStr = Regex.Replace(htmlStr, "\\s*|\t|\r|\n", "");//去除tab、空格、空行26 27   htmlStr = htmlStr.Replace(" ", "");28 29   htmlStr = htmlStr.Replace(""", "");//去除异常的引号" " "30 31   htmlStr = htmlStr.Replace(""", "");32 33   return htmlStr.Trim();34 35 }

Html2Text