广

PHP编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

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

    2018-04-03 21:31:02 次阅读 稿源:互联网
    零七广告
    有这么一段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] => 轻音乐 )


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

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告