php 正则表达式提取网页超级链接url的函数

复制代码 代码如下:

function match_links($document) {

preg_match_all("'<\s*a\s.*?href\s*=\s*([\"\'])?(?(1)(.*?)\\1|([^\s\>]+))[^>]*>?(.*?)</a>'isx",$document,$links);

while(list($key,$val) = each($links[2])) {

if(!empty($val))

$match['link'][] = $val;

}

while(list($key,$val) = each($links[3])) {

if(!empty($val))

$match['link'][] = $val;

}

while(list($key,$val) = each($links[4])) {

if(!empty($val))

$match['content'][] = $val;

}

while(list($key,$val) = each($links[0])) {

if(!empty($val))

$match['all'][] = $val;

}

return $match;

}

主要是正则的问题,下面给出个asp.net下的,多测试正则

获取页面的链接正则

复制代码 代码如下:

public string GetHref(string HtmlCode)

{

string MatchVale = "";

string Reg = @"(h|H)(r|R)(e|E)(f|F) *= *('|"")?((\w|\\|\/|\.|:|-|_)+)('|""| *|>)?";

foreach (Match m in Regex.Matches(HtmlCode, Reg))

{

MatchVale += (m.Value).ToLower().Replace("href=", "").Trim() + "||";

}

return MatchVale;

}

时间: 2024-09-18 02:33:18

php 正则表达式提取网页超级链接url的函数的相关文章

php 正则表达式提取网页超级链接url的函数_正则表达式

复制代码 代码如下: function match_links($document) { preg_match_all("'<\s*a\s.*?href\s*=\s*([\"\'])?(?(1)(.*?)\\1|([^\s\>]+))[^>]*>?(.*?)</a>'isx",$document,$links); while(list($key,$val) = each($links[2])) { if(!empty($val)) $mat

PHP用正则表达式提取网页链接地址

如下面代码,用正则表达式提取其中的链接地址 以下是引用片段:<div class="pic" id="s3"> <a title=list href="http://www.alixixi.com/down/" target="_blank">阿里西 西源码下载频道</a> <a href="http://js.alixixi.com/" target="

python使用正则表达式提取网页URL的方法

  本文实例讲述了python使用正则表达式提取网页URL的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 import re import urllib url="http://www.3lian.net" s=urllib.urlopen(url).read() ss=s.replace(" ","") urls=re.findall(r"<a.*?href=.*?</a&g

ASP超级链接和HTML函数正则表达式 修正版_正则表达式

过滤超级链接 复制代码 代码如下: Function RegRemoveHref(HTMLstr) Set ra = New RegExp ra.IgnoreCase = True ra.Global = True ra.Pattern = "<A[^>]+>(.+?)<\/A>" RegRemoveHref = ra.replace(HTMLstr,"$1") END Function 过滤所有HTML代码 复制代码 代码如下: Fu

ASP超级链接和HTML函数正则表达式 修正版

过滤超级链接 复制代码 代码如下: Function RegRemoveHref(HTMLstr) Set ra = New RegExp ra.IgnoreCase = True ra.Global = True ra.Pattern = "<A[^>]+>(.+?)<\/A>" RegRemoveHref = ra.replace(HTMLstr,"$1") END Function 过滤所有HTML代码 复制代码 代码如下: Fu

正则表达式,提取网页中的链接地址

<td class=cate width="45%" style="word-break:break-all">       <a class=M href="http://jmfengcai.cn.alibaba.com/athena/companydetail/jmfengcai.html" onMouseDown="return aliclick(this,'?alishop=companylistcompany

正则表达式,提取网页中的链接地址_正则表达式

<td class=cate width="45%" style="word-break:break-all">       <a class=M href="http://jmfengcai.cn.alibaba.com/athena/companydetail/jmfengcai.html" onMouseDown="return aliclick(this,'?alishop=companylistcompany

网页超级链接

直以来都有这样一个困惑,那就是打开页面间的链接时是在原窗口转换还在新窗口打开呢?如果是在原窗口里转换页面的话,那我还想使用原页面的信息呢?但是在新窗口打开的话,到时候可能是一屏幕的窗口(现在的浏览器都提供标签式浏览--我认为这是浏览器至今为止最好的改进,但也会造成成堆的标签排在那而不知道到底哪个才是自己想要的),很容易就让人迷失在窗口里.也许该说按特定的环境使用特定的方式,可是这个特定的环境又是哪些呢? 那有没有更好的办法呢?有什么办法即可以让我看到所有想看的新闻,而又不用面对满屏幕的窗口或是堆

如何提取网页中所有链接

见过"网际快车"的"使用网际快车下载全部链接"这个功能吗?想实现它,我们可以这样做: IE有几个有用的接口,我们可以用它来提取网页所有链接. 一.基本原理 首先是用IHTMLDocument2的get_links,来获取IHTMLElementCollection接口,再通过IHTMLElementCollection来获取IHTMLAnchorElement,而IHTMLAnchorElement接口的get_href就是我们想要的,通过循环获取,我们就可以得到网