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|\|/|.|?1|-|_)+)('|""| *|>)?";
foreach (Match m in Regex.Matches(HtmlCode, Reg))
{
MatchVale += (m.Value).ToLower().Replace("rel="nofollow noopener noreferrer" href=", "").Trim() + "||";
}
return MatchVale;
}

本文php 正则表达式提取网页超级链接url的函数到此结束。生活总是要改变的,抱守残缺,敝帚自珍终究要被历史所淘汰,要被时代所抛弃;勇于进取,敢于大胆地除旧布新,适时而动虽会经历一时之痛,但新的生命终会在烈火中得到永生。小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
浅析golang 正则表达式

基于xpath选择器、PyQuery、正则表达式的格式清理工具详解

javascript正则表达式 限1-2位整数,或者至多含有两位小数的写法

正则表达式中的 .*? 或 .*+ 的意思

javascript正则表达式标记中/g /i /m的用法,以及实例