1 /// <summary>
2 /// 去除HTML标记
3 /// </summary>
4 /// <param name="strHtml">包括HTML的源码 </param>
5 /// <returns>已经去除后的文字</returns>
6 public static string StripHTML(string strHtml)
7 {
8 string[] aryReg = { @"<script[^>]*?>.*?</script>", @"<(\/\s*)?!?((\w+:)?\w+)(\w+(\s*=?\s*(([""'])(\\[""'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" };
9 string[] aryRep = { "", "", "", "\"", "&", "<", ">", " ", "\xa1", "\xa2", "\xa3", "\xa9", "", "\r\n", "" };
10 string newReg = aryReg[0];
11 string strOutput = strHtml;
12 for (int i = 0; i < aryReg.Length; i++)
13 {
14 Regex regex = new Regex(aryReg[i], RegexOptions.IgnoreCase);
15 strOutput = regex.Replace(strOutput, aryRep[i]);
16 }
17 strOutput.Replace("<", ""); strOutput.Replace(">", "");
18 strOutput.Replace("\r\n", ""); return strOutput;
19 }