获取HTML里面的超链接,图片,FLASH地址

本文介绍了一种从HTML文本中提取URL的方法,使用了正则表达式进行匹配,并通过C#实现了一个具体示例。该方法能够有效识别并获取文本中的HTTP、HTTPS及FTP等不同类型的链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

返回URL方法:

 

  1.     /// <summary>
  2.     /// 返回文本中的url地址
  3.     /// </summary>
  4.     /// <param name="html">html文本</param>
  5.     /// <param name="regstr">正则表达式</param>
  6.     /// <param name="keyname">关键字</param>
  7.     /// <returns></returns>
  8.     public ArrayList geturl(string html, string regstr, string keyname)
  9.     {
  10.         ArrayList resultStr = new ArrayList();
  11.         Regex r = new Regex(regstr, RegexOptions.IgnoreCase);
  12.         MatchCollection mc = r.Matches(html);
  13.         foreach (Match m in mc)
  14.         {
  15.             resultStr.Add(m.Groups[keyname].Value.ToLower());
  16.         }
  17.         if (resultStr.Count > 0)
  18.         {
  19.             return resultStr;
  20.         }
  21.         else
  22.         {
  23.             //没有地址的时候返回空字符
  24.             resultStr.Add("");
  25.             return resultStr;
  26.         }
  27.     }
  28. 链接地址:
  29. 正则表达式: "((http|https|ftp):(////|////)((/w)+[.]){1,}(txt|rar|doc|iso|pdf|zip|xls|[0-9]{1,3})(((//[/~]*|//[/~]*)(/w)+)|[.](/w)+)*(((([?](/w)+){1}[=]*))*((/w)+){1}([/&](/w)+[/=](/w)+)*)*)";
  30. 图片:
  31. <IMG[^>]+src=/s*(?:'(?<src>[^']+)'|""(?<src>[^""]+)""|(?<src>[^>/s]+))/s*[^>]*>
  32. FLASH:
  33. <embed[^>]+src=/s*(?:'(?<src>[^']/S*.swf/b+)'|""(?<src>[^""]/S*.swf/b+)""|(?<src>[^>/s]/S*.swf/b+))/s*[^>]*>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值