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;
}



相关阅读:
Linux操作系统目录配置标准FHS详细介绍
Chrome渲染引擎同Safari
httpd.conf设置一个IP两个域名的方法
Apache的目录安全措施
Linux系统管理员必备的知识
使用ajax做右下角弹出提示
Linux系统平台下用Fdisk分区格式化硬盘
MySQL数据库账户授权相关管理 (3
s基础:CSS的位置问题
js 模拟实现类似c#下的hashtable的简单功能代码
给WIN2003 IIS SQL服务器安全加固
老调重弹的CSS优先级
安装SQL Server 2005的AdventureWorks
js两行代码按指定格式输出日期时间
快速导航

Copyright © 2016 phpStudy |