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

(0)

相关推荐

  • php使用curl和正则表达式抓取网页数据示例

    利用curl和正则表达式做的一个针对磨铁中文网非vip章节的小说抓取器,支持输入小说ID下载小说. 依赖项:curl 可以简单的看下,里面用到了curl ,正则表达式,ajax等技术,适合新手看看.在本地测试,必须保证联网并且确保php开启curl的mode SpiderTools.class.php 复制代码 代码如下: <?php   session_start();  //封装成类 开启这些自动抓取文章   #header("Refresh:30;http://www.test.co

  • php利用正则表达式取出图片的URL

    复制代码 代码如下: <?php preg_match('/<img\ssrc=\"(http:\/\/.+\.(jpg|gif|bmp|bnp))\">/i',     '<img src="http://127.0.0.1:81/upload/files/aaa.jpg">', $matches); echo $matches[1]; ?> 毕业设计要用,可惜正则不好,互补古蓝帮忙后写的.

  • php使用正则表达式获取图片url的方法

    本文实例讲述了php使用正则表达式获取图片url的方法.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: <?php header("Content-type:text/html;charset=utf-8"); $str = '<p><img src="images/11111111.jpg" alt="美女" /></p>'; $pattern = "/[img|IMG].*

  • php用正则表达式匹配URL的简单方法

    在PHP的官网上看到的parse_url()函数的替代方案.结果和parse_url()函数差不多,是使用正则实现的.URI 是 Web上可用的每种资源 - HTML文档.图像.视频片段.程序等 - 由一个通用资源标志符(Uniform Resource Identifier, 简称"URI")进行定位. 对象分组: 复制代码 代码如下: ^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?12            3 

  • php URL验证正则表达式

    复制代码 代码如下: <?php $url = 'http://www.baidu.com/zongzi/oo.html'; $n = preg_match_all("/http:[\/]{2}[a-z]+[.]{1}[a-z\d\-]+[.]{1}[a-z\d]*[\/]*[A-Za-z\d]*[\/]*[A-Za-z\d]*[.]*html/",$url,$array); var_dump($array); ?>

  • php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)

    本文实例需要验证的内容:邮件地址.Url地址.电话号码.邮政编码,验证方法分享给大家供大家参考,具体内容如下 1.电子邮件地址的校验 <?php /* 校验邮件地址*/ function checkMail($email) { //用户名,由"\w"格式字符."-"或"."组成 $email_name= "\w|(\w[-.\w]*\w)"; //域名中的第一段,规则和用户名类似,不包括点号"." $

  • php使用正则表达式获取字符串中的URL

    今天写一个问答系统上线之后发现有很多人发链接了,由于业务部门要我们过滤掉网站地址了,下面我给大家分享一个提取字符串url地址函数,代码如下: $str ='本文实例讲述了php匹配字符串里所有URL地址的方法.http://www.manongjc.com 分享给大家供大家参考'; preg_match_all("/http:[\/]{2}[a-z]+[.]{1}[a-z\d\-]+[.]{1}[a-z\d]*[\/]*[A-Za-z\d]*[\/]*[A-Za-z\d]*/",$st

  • 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

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

    本文实例讲述了python使用正则表达式提取网页URL的方法.分享给大家供大家参考.具体实现方法如下: import re import urllib url="http://www.jb51.net" s=urllib.urlopen(url).read() ss=s.replace(" ","") urls=re.findall(r"<a.*?href=.*?<\/a>",ss,re.I) for i i

  • 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

  • Python使用正则表达式获取网页中所需要的信息

    使用正则表达式的几个步骤: 1.用import re 导入正则表达式模块: 2.用re.compile()函数创建一个Regex对象: 3.用Regex对象的search()或findall()方法,传入想要查找的字符串,返回一个Match对象: 4.调用Match对象的group()方法,返回匹配到的字符串. 在交互式环境中简单尝试一下,查询字符串中的固话: import re text = '小明家的固话是0755-123456,而小丽家的固话时0789-654321,小王家的电话是1234

  • python使用xslt提取网页数据的方法

    1.引言 在Python网络爬虫内容提取器一文我们详细讲解了核心部件:可插拔的内容提取器类gsExtractor.本文记录了确定gsExtractor的技术路线过程中所做的编程实验.这是第一部分,实验了用xslt方式一次性提取静态网页内容并转换成xml格式. 2.用lxml库实现网页内容提取 lxml是python的一个库,可以迅速.灵活地处理 XML.它支持 XML Path Language (XPath) 和 Extensible Stylesheet Language Transform

  • URL 筛选小工具 提取网页中的超链接地址

    使用方法:将下面的代码保存为jb51.vbs 然后拖动你保存在本地的htm页面,拖放在这个vbs即可 '备注:URL筛选小工具 '防止出现错误 On Error Resume Next 'vbs代码开始---------------------------------------------- Dim p,s,re If Wscript.Arguments.Count=0 Then Msgbox "请把网页拖到本程序的图标上!",,"提示" Wscript.Quit

  • 如何把URL和邮件地址转换为超级链接?

    Function InsertHyperlinks(inText)Dim objRegExp, strBufDim objMatches, objMatchDim Value, ReplaceValue, iStart, iEnd strBuf = ""  iStart = 1  iEnd = 1  Set objRegExp = New RegExp objRegExp.Pattern = "\b(www|http|\S+@)\S+\b" ' 判断URLs和ema

  • 易语言修改在访问完网页后超级链接框中文本的颜色

    访问后的颜色属性 所属对象:超级链接框   操作系统支持:Windows,数据类型:整数型: 将整数型数据赋值到指定对象的访问后的颜色属性中 语法:  对象.访问后的颜色 =  整数型 应用对象:超级链接框 例程 说明: 本属性设置在访问完网页后,超级链接框的标题中文本的颜色. 设置超级链接框访问网页后的颜色为访问后颜色选择器选择的颜色. 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持.如果你想了解更多相关内容请查看

  • 易语言通过超级链接框跳转到网页的方法

    类型属性 所属对象:超级链接框   操作系统支持:Windows,数据类型:整数型: 将整数型数据赋值到指定对象的类型属性中 语法:对象.类型 = 整数型 应用对象:超级链接框 例程 说明: 本属性设置在超级链接框中,连接的是网址还是邮件地址. 设置超级链接框的标题是我们网址//www.jb51.net/,然后让超级链接框的Internet地址为我们网址,最后跳转连接网页. 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的

随机推荐