欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-01 20:45:16
///   /// 去除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*(([""'])(*)?>",
          @"([\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;
  }