C#提取HTML代码中的文字(转)
/// <summary>
? /// 去除HTML標記
? /// </summary>
? /// <param name="strHtml">包括HTML的源碼 </param>
? /// <returns>已經去除后的文字</returns>
? public static string StripHTML(string strHtml)
? {
?? 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"
????????
???????? };
?? string [] aryRep = {
?????????? "",
?????????? "",
?????????? "",
?????????? "\"",
?????????? "&",
?????????? "<",
?????????? ">",
?????????? " ",
?????????? "\xa1",//chr(161),
?????????? "\xa2",//chr(162),
?????????? "\xa3",//chr(163),
?????????? "\xa9",//chr(169),
?????????? "",
?????????? "\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;
? }
轉自:http://blog.csdn.net/ljbshiyoudaxue/archive/2006/12/12/1440235.aspx
轉載于:https://www.cnblogs.com/yuewh491/archive/2006/12/13/590707.html
總結
以上是生活随笔為你收集整理的C#提取HTML代码中的文字(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决ubuntu下pdf中文不显示或乱码
- 下一篇: 编程体系结构(05):Java多线程并发