zoukankan      html  css  js  c++  java
  • PHP正则表达式提取超链接及其标题

    有这么一段HTML,比较不规则的,如果要提取其中的链接地址和链接名称,怎么弄?

    //HTML
    $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://list.mp3.baidu.com/list/bangping.html" class="p14">中文金曲榜</a><br><td nowrap="nowrap">&#8226;&nbsp;<a id="top19" href="qingyinyue.html?top19" class="p14" target="_top">轻音乐</a></td>'';

    利用正则表达式是最简单的,其它的办法,偶米去想。。。

    $pat = ''/<a(.*?)href="(.*?)"(.*?)>(.*?)</a>/i'';
    preg_match_all($pat, $str, $m);

    输出方法:

    print_r($m[2]);
    print_r($m[4]);

    或者:
    for($i=0;$i<count($m[2]) ;$i++ ){
        echo ''<li><a href="''.$_SERVER[''PHP_SELF''].''?url=''.$m[2][$i].''">''.$m[4][$i].''</a>'';
    }

    显示结果是:

    Array ( [0] => http://list.mp3.baidu.com/song/A.htm?top8 [1] => http://list.mp3.baidu.com/list/bangping.html [2] => qingyinyue.html?top19 ) Array ( [0] => 歌曲列表 [1] => 中文金曲榜 [2] => 轻音乐 )

    于是,我们要采集某个网站的标题及链接地址方法就出来了。。。自己套用吧。。。

    转载自:http://www.aspnetjia.com

  • 相关阅读:
    199. 二叉树的右视图
    二叉树前、中、后、层次、遍历的非递归法
    奇思妙想
    917. 仅仅反转字母【双指针】
    JVM性能监控与故障处理工具
    Java线程池使用和常用参数(待续)
    MySQL常用知识
    手写常用算法
    LightOj 1170
    逆元总结
  • 原文地址:https://www.cnblogs.com/aspnetjia/p/5166735.html
Copyright © 2011-2022 走看看