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

所属分类: 网络编程 / 正则表达式 阅读数: 1064
收藏 0 赞 0 分享
复制代码 代码如下:

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;
}
更多精彩内容其他人还在看

能说明一下GETROWS的用法吗?

能说明一下GETROWS的用法吗?
收藏 0 赞 0 分享

用正则表达式过滤html代码

用正则表达式过滤html代码
收藏 0 赞 0 分享

ubb js

ubb js
收藏 0 赞 0 分享

正则表达式在javascript中的几个实例

正则表达式在javascript中的几个实例
收藏 0 赞 0 分享

简单的Html转换UBB的程序

简单的Html转换UBB的程序
收藏 0 赞 0 分享

求个简单正则

求个简单正则
收藏 0 赞 0 分享

JScript中正则表达式用法详解

JScript中正则表达式用法详解
收藏 0 赞 0 分享

取图片路径的正则

取图片路径的正则
收藏 0 赞 0 分享

文本框输入限制 [大全]

文本框输入限制 [大全]
收藏 0 赞 0 分享

UBB代码在论坛中的应用

UBB代码在论坛中的应用
收藏 0 赞 0 分享
查看更多