|
|

刚才试了很久,终于写出了提取网址的正则.记一下.
1.开始用ereg写出了正则,当时不知道-不用转义,最后一点一点试出来了.
2.不知道使用ereg如何把所有网址都显出来,换用preg_match,规则都差不多,就是要前后多加一个/,找了半天.不知道为什么,我最后不能用$,一用就找不到任何东西.
3.数组里面匹配的串,全部放在$matches[0]里面.
4.试了一下,用foreach也可以遍历数组.
提取网址的:
<?php
$lstr='<a href="http://ent.tom.com/1306/1310/2006627-197372.html" target="_blank" class=list>妮可凯斯新婚牵手秀恩爱</a><br>
<a href="http://ent.tom.com/1306/1362/2006627-197463.html" target="_blank" class=list>传古巨基私下捞钱被雪藏</a> <a href="http://ent.tom.com/1306/1362/2006627-197407.html" target="_blank" class=list>传何炅孙国庆大打出手</a><br>
<a href="http://ent.tom.com/1030/1565/2006627-197453.html" target="_blank">郝菲尔:早料到被淘汰</a> <a href="http://ent.tom.com/1306/1362/2006627-197398.html" target="_blank">范冰冰"眼角整容图"曝光</a></td></tr>
</table>';
if(preg_match_all("/http:\/\/[a-zA-Z0-9][a-zA-Z0-9\/\._-]+[\.html]/",$lstr,$matches))
foreach ($matches[0] as $url)
echo $url.'<br>';
else
echo '没有合适';
?>
试用foreach遍历数组:
<?php
$a=array("1"=>array(1,2,4),"2"=>array(7,5,6));
foreach ($a as $key=>$url)
foreach($a[$key] as $va)
echo $va.'<br>';
?> |
|