详细解决方案
C# 替换去除HTML标记方法(正则表达式)
热度:78 发布时间:2024-01-21 23:11:57.0
- using System.Text.RegularExpressions;
-
- public static string NoHTML(string Htmlstring)
- {
-
- Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase);
-
- 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;
- }
-
-
-
-
-
- public static string StripHTML(string strHtml)
- {
- string[] aryReg ={
- @"<script[^>]*?>.*?</script>",
- @"<(///s*)?!?((/w+:)?/w+)(/w+(/s*=?/s*(([""'])(file://[""'tbnr]|[^/7])*?/7|/w+)|.{0})|/s)*?(///s*)?>",
- @"([/r/n])[/s]+",
- @"&(quot|#34);",
- @"&(amp|#38);",
- @"&(lt|#60);",
- @"&(gt|#62);",
- @"&(nbsp|#160);",
- @"&(iexcl|#161);",
- @"&(cent|#162);",
- @"&(pound|#163);",
- @"&(copy|#169);",
- @"&#(/d+);",
- @"-->",
- @"<!--.*/n"
-
- };
-
- string[] aryRep = {
- "",
- "",
- "",
- "/"",
- "&",
- "<",
- ">",
- " ",
- "/xa1",
- "/xa2",
- "/xa3",
- "/xa9",
- "",
- "/r/n",
- ""
- };
-
- string newReg = aryReg[0];
- string strOutput = strHtml;
- for (int i = 0; i < aryReg.Length; i++)
- {
- Regex regex = new Regex(aryReg[i], RegexOptions.IgnoreCase);
- strOutput = regex.Replace(strOutput, aryRep[i]);
- }
-
- strOutput.Replace("<", "");
- strOutput.Replace(">", "");
- strOutput.Replace("/r/n", "");
-
-
- return strOutput;
- }