`
天梯梦
  • 浏览: 13730390 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

PHP正则表达式提取超链接及其标题

阅读更多

关联:

PHP正则表达式

PHP正则表达式提取超链接及其标题

 

今天在做一个使用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用正则表达式过滤超链接

    本文将详细介绍如何使用PHP结合正则表达式来过滤并提取HTML中的超链接。 #### 正则表达式基础 正则表达式是一种用于匹配字符串中字符组合的强大工具。在PHP中,正则表达式的应用非常广泛,特别是在处理HTML或XML等...

    PHP使用正则表达式清除超链接文本

    除了上述示例,还有其他与正则表达式和超链接相关的PHP操作,如提取网页超级链接URL、为图片添加链接、检查URL链接是否已有参数、过滤HTML超链接、处理友链检查、抓取超链接内容等。在实际开发中,这些技巧都非常...

    php获取超链接文本内容的正则表达式(五种方法)

    在PHP编程中,正则表达式是一种用于字符串匹配的工具,可以用来查询、替换或者提取字符串中的特定部分。对于网页开发或数据处理,正则表达式常常被用来提取HTML页面中的有用信息,例如本例中的超链接文本内容。本文...

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

    ### PHP正则表达式提取网页超级链接URL的函数解析 #### 标题解析 - **标题**:“php 正则表达式提取网页超级链接url的函数” - **解析**:此标题表明文章将介绍一个PHP函数,该函数利用正则表达式来提取HTML文档中...

    PHP正则表达式处理函数(PCRE 函数)实例小结

    PHP中的正则表达式处理函数,也称为PCRE(Perl Compatible Regular Expressions)函数,是进行文本模式匹配和替换的强大工具。...因此,对PHP正则表达式处理函数的深入理解和实践是每个PHP开发者必备的技能。

    PHP怎样用正则抓取页面中的网址

    - 正则表达式中的分组(使用括号)有助于在匹配结果中提取具体的组成部分,如协议、主机名和路径。 4. 使用PHP函数进行匹配: - PHP内置了`preg_match_all()`函数,可以使用正则表达式来搜索文本,并返回所有匹配...

    php实现使用正则将文本中的网址转换成链接标签

    标题中提到的“使用正则将文本中的网址转换成链接标签”,实际上涉及到两个主要概念:正则表达式(Regular Expression)和HTML链接标签(Hyperlink Tag)。 正则表达式是一种文本模式,包括普通字符(例如,字母和...

    php获取关键字去超链接

    - **正则匹配**:使用正则表达式`"/(.*)A\[(.*)\]\](.*)&gt;&lt;\/kw&gt;/"`匹配关键字及其权重信息,并通过`PREG_SET_ORDER`选项按顺序存储结果到`$out`数组中。 - **关键字拼接**:通过循环遍历`$out`数组中的每个元素,...

    php匹配字符中链接地址的方法

    这个函数利用`preg_match_all`函数和一个复杂的正则表达式来查找并收集所有`&lt;a&gt;`标签及其相关属性。正则表达式`'*as.*?hrefs*=s*(["'])?(?(1)(.*?)\1|([^s&gt;]+))[^&gt;]*&gt;?(.*?)&lt;/a&gt;'isx`包括了多个组件,用于匹配不同...

    20行代码写小偷程序

    2. **正则表达式匹配**:使用正则表达式`/(.*)target=_blank&gt;(.*)&lt;\/a&gt;/U`来匹配并提取所有带有`target="_blank"`属性的`&lt;a&gt;`标签,即超链接。这里,`(.*)`捕获链接地址和链接文本。 3. **循环输出**:遍历匹配结果...

    php 自写函数代码 获取关键字 去超链接

    // 使用正则表达式分词 $wordCount = array_count_values($words); // 计算每个词的出现次数 arsort($wordCount); // 按值降序排列 $keywords = array_slice($wordCount, 0, 5); // 取前5个最常出现的词 return...

    PHP 超链接 抓取实现代码

    总之,PHP通过正则表达式可以实现基本的超链接抓取,但面对复杂的HTML结构时,推荐使用更专业的HTML解析工具,以确保稳定性和灵活性。在实际项目中,一定要对所选择的抓取方法进行充分的测试,确保能够处理各种可能...

    html-css-regular

    正则表达式,或称正则,是匹配字符串模式的一种方式,广泛应用于数据验证、搜索替换、文本提取等场景。例如,你可以用正则表达式检查一个输入的邮箱格式是否合法,或者找出HTML文档中的所有链接。掌握正则表达式的...

    php获取twitter最新消息的方法

    具体步骤包括使用CURL进行网络请求,应用正则表达式匹配和提取数据,对获取的文本数据进行HTML实体编码,以及识别并转换文本中的URL为超链接。 对于希望将此方法应用于实际项目的开发者来说,需要注意的是,Twitter...

    php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)

    此外,还提到了一些常见的问题及解决方案,例如一些网页上自动提取URL为超链接的功能,以及如何通过正则表达式处理URL地址中的特殊字符等。 总结起来,通过使用PHP的正则表达式和字符串处理函数,可以有效地将纯...

Global site tag (gtag.js) - Google Analytics