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, "");//删除css 20 21 htmlStr = Regex.Replace(htmlStr, regEx_script, "");//删除js 22 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 }
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。