站长资讯网
最全最丰富的资讯网站

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

复制代码 代码如下:
function match_links($document) {
preg_match_all(“‘<s*as.*?hrefs*=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;
}
赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号