用php的Regex相關函數,實現提取html超連結<a href="地址"></a>中的地址。
| 代碼如下 |
複製代碼 |
<?php $preg='/<a .*?href="(.*?)".*?>/is'; $str ='<a href="連結1">URLNAME</a>文本段1<a href="連結2" target="_blank">URLNAME</a>文本段2<a target="_blank" href="連結3">URLNAME</a>...文本段n'; preg_match_all($preg,$str,$match);//在$str中搜尋匹配所有符合$preg加入$match中 for($i=0;$i<count($match[1]);$i++)//逐個輸出超連結位址 { echo $match[1][$i]."<br />"; } ?> |
最終輸出:
連結1<br />連結2<br />連結3<br />
附一個
PHP的Regex提取圖片地址的代碼。
| 代碼如下 |
複製代碼 |
$str='<p style="padding: 0px; margin-top: 0px; margin-bottom: 0px; line-height: 200%;"><img border="0" src="upfiles/2009/07/1246430143_4.jpg" alt=""/></p><p style="padding: 0px; margin-top: 0px; margin-bottom: 0px; line-height: 200%;"><img border="0" src="upfiles/2009/07/1246430143_3.jpg" alt=""/></p><p style="padding: 0px; margin-top: 0px; margin-bottom: 0px; line-height: 200%;"><img border="0" src="upfiles/2009/07/1246430143_1.jpg" alt=""/></p>'; $pattern="/<[img|IMG].*?src=['|"](.*?(?:[.gif|.jpg]))['|"].*?[/]?>/"; preg_match_all($pattern,$str,$match); print_r($match); |