从html里取连接,文本

//提取连接 

private   void   Reg_A_Href(string   s)  
  {  
  string   str   =   s;  
  Regex   re   =   new   Regex(@"<a[^>]+href=/s*(?:'(?<href>[^']+)'|""(?<href>[^""]+)""|(?<href>[^>/s]+))/s*[^>]*>(?<text>.*?)</a>",   RegexOptions.IgnoreCase   |   RegexOptions.Singleline);  
   
  MatchCollection   mc   =   re.Matches(str);  
  Console.WriteLine(mc.Count);  
  foreach   (Match   m   in   mc)  
  {  
  info_Add("[href]   "   +   m.Groups["href"].Value);  
  info_Add("[text]   "   +   m.Groups["text"].Value);  
  Console.WriteLine("{0}:{1}",   m.Groups["href"].Value,   m.Groups["text"].Value);  
  }  
   
  }

 

///   <summary>
   ///   去除HTML标记
   ///   </summary>
   ///   <param   name="Htmlstring">包括HTML的源码   </param>
   ///   <returns>已经去除后的文字</returns>
   public   static   string   NoHTML(string   Htmlstring)
   {
    //删除脚本
    Htmlstring   =   Regex.Replace(Htmlstring,@"<script[^>]*?>.*?</script>","",RegexOptions.IgnoreCase);
    //删除HTML
    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;
   }

   /// <summary>
   /// 提取HTML代码中文字的C#函数
   /// </summary>
   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;
   }
  
  
    #region   取出文本中的图片地址
    /**   <summary>
    ///   取出文本中的图片地址
    ///   </summary>
    ///   <param   name="HTMLStr">HTMLStr</param>
    public   static   string   GetImgUrl(string   HTMLStr)
    {
     string   str   =   string.Empty;
     string   sPattern   =   @"^<img/s+[^>]*>";
     Regex   r   =   new   Regex(@"<img/s+[^>]*/s*src/s*=/s*([']?)(?<url>/S+)'?[^>]*>",
      RegexOptions.Compiled);
     Match   m   =   r.Match(HTMLStr.ToLower());
     if   (m.Success)
      str   =   m.Result("${url}");
     return   str;
    }
    #endregion

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值