关联:
今天在做一个使用PHP正则提取文章链接及标题的插件时遇到一个问题,自己写出的正则总是很难完整无误的把想要的结果提取出来,于是到网站
搜索一番,终于找到一个短小精悍的正则,功能却一点都不含糊。
/<a(.*?)href="(.*?)"(.*?)>(.*?)<\/a>/i
下面是一个例子:
<?php
$str = '<a id="top8" href="http://list.mp3.baidu.com /song/A.htm?top8" class="p14" target="_top">歌曲列表</a><br><a target="_blank" id="bp" href="http://ibtimes.com" class="p14">中文金曲榜</a><br><a id="top19" href="http://africa.ibtimes.com/sections/companies/" class="p14" target="_top">轻音乐</a></td>';
$pat = '/<a(.*?)href="(.*?)"(.*?)>(.*?)<\/a>/i';
preg_match_all($pat, $str, $m);
print_r($m);
输出结果为:
Array
(
[0] => Array
(
[0] => <a id="top8" href="http://list.mp3.baidu.com /song/A.htm?top8" class="p14" target="_top">歌曲列表</a>
[1] => <a target="_blank" id="bp" href="http://ibtimes.com" class="p14">中文金曲榜</a>
[2] => <a id="top19" href="http://africa.ibtimes.com/sections/companies/" class="p14" target="_top">轻音乐</a>
)
[1] => Array
(
[0] => id="top8"
[1] => target="_blank" id="bp"
[2] => id="top19"
)
[2] => Array
(
[0] => http://list.mp3.baidu.com /song/A.htm?top8
[1] => http://ibtimes.com
[2] => http://africa.ibtimes.com/sections/companies/
)
[3] => Array
(
[0] => class="p14" target="_top"
[1] => class="p14"
[2] => class="p14" target="_top"
)
[4] => Array
(
[0] => 歌曲列表
[1] => 中文金曲榜
[2] => 轻音乐
)
)
下面是我利用这个正则写的一个提取网页超链接及标题的函数:
function get_links($content) {
$pattern = '/<a(.*?)href="(.*?)"(.*?)>(.*?)<\/a>/i';
preg_match_all($pattern, $content, $m);
return $m;
}
分享到:
相关推荐
PHP用正则表达式过滤超链接,正则表达式过滤
正则表达式提取图片,通过正则表达式提取段落中的问题,便于排版和美观
主要介绍了Java使用正则表达式提取XML节点内容的方法,结合具体实例形式分析了java针对xml格式字符串的正则匹配相关操作技巧,需要的朋友可以参考下
Jmeter-使用正则表达式提取器获取关联参数的使用方法,网络资源共享!
而本软件正是把强大的正则功能完美地添加到表格中,让 Excel、WPS 支持正则表达式的搜索、匹配提取、替换、定位等,让数据处理能力进化一个层次! 让 Office Excel、WPS 表格支持正则表达式的免费插件:「Excel ...
正则表达式,正则表达式,正则表达式 正则表达式 正则表达式 正则表达式 正则表达式 正则表达式 正则表达式
java实现用正则表达式的方法提取html中的信息,可以提取标题,正文,链接等。经过运行,没问题的
excel自定义函数,在指定文本中使用正则表达式提取其中的符合文本并以指定分隔符分隔,如:文本:a1b2c3d4 正则:\d 分隔符:| 结果:1|2|3|4
许多语言,包括Perl、PHP、Python、JavaScript和JScript,都支持用正则表达式处理文本,一些文本编辑器用正则表达式实现高级“搜索-替换”功能。那么Java又怎样呢?本文写作时,一个包含了用正则表达式进行文本处理...
正则表达式汇总
本文实例讲述了python使用正则表达式提取网页URL的方法。分享给大家供大家参考。具体实现方法如下: import re import urllib url=//www.jb51.net s=urllib.urlopen(url).read() ss=s.replace( ,) urls=re.findall...
NULL 博文链接:https://duanhengbin.iteye.com/blog/1962431
常用正则表达式 正则表达式 常用正则表达式 正则表达式
php正则表达式系统教程php正则表达式系统教程php正则表达式系统教程php正则表达式系统教程php正则表达式系统教程
C#语言实现采用正则表达式提取网页上需要的数据,并将数据存储到数据库sql sever 2005
正则表达式.rar正则表达式.rar正则表达式.rar正则表达式.rar
一个用于正则匹配检查的工具,用于使用正则表达式提取字符串!
《学习正则表达式》从正则表达式的基本概念讲起,到编写完整的sed和Perl脚本,再到转换HTML文件,将这种强大的工具解释得清晰透彻。...《学习正则表达式》适合对正则表达式感兴趣的程序员和互联网从业者。
正则表达式验证工具 V1.0 本软件主要用于检测正则表达式是否正确。 运行环境:本软件为绿色软件,无需安装,但需要Microsoft .NET Framework 4 支持,如果没有请前去下载(下载路径:...
正则表达式日期校验 正则表达式日期校验 正则表达式日期校验