程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP正則表達式提取超鏈接及其標題

PHP正則表達式提取超鏈接及其標題

編輯:關於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] => 輕音樂 )

於是,我們要采集某個網站的標題及鏈接地址方法就出來了。。。自己套用吧。。。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved