有这么一段HTML
,比较不规则的
,如果要提取其中的链接地址和链接名称,怎么弄?
//HTML
$str='<aid="top8"href="
http://list.mp3.baidu.com/song/A.htm?top8"class="p14"target="_top">歌曲列表</a><br><atarget="_blank"id="bp"href="
http://list.mp3.baidu.com/list/bangping.html"class="p14">中文金曲榜</a><br><tdnowrap="nowrap">• <aid="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><ahref="'.$_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]=>轻音乐)
于是,我们要采集某个网站的标题及链接地址方法就出来了。。。自己套用吧。。。