提取HTML代码中文字的C#函数

开发者在线 Builder.com.cn 更新时间:2007-09-07作者:中国IT实验室 来源:中国IT实验室

本文关键词: 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]|[^])*?|w+)|.)|s)*?(/s*)?>",
          @"([rn])[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),
           "",
           "rn",
           ""
          };

   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("rn","");


   return strOutput;
  }

查看本文来源

用户评论

  • 用户名
  • 评论内容