2014-01-07 47 views
0

元素中獲得的href我有一個HTML頁面,看起來有點像這樣如何使用PHP和簡單的HTML DOM

xxxx 
<a href="www.google.com">google!</a> 

<div class="big-div"> 
    <a href="http://www.url.com/123" title="123"> 
    <div class="little-div">xxx</div></a> 

    <a href="http://www.url.com/456" title="456"> 
    <div class="little-div">xxx</div></a> 
</div> 
xxxx 

我想拉在href的出大格的。我可以通過使用下面的代碼來獲取整個頁面中的所有href。

$links = $html->find ('a'); 
foreach ($links as $link) 
{ 
    echo $link->href.'<br>'; 
} 

但是我怎樣才能得到div「big-div」中的href。編輯: 我想我明白了。對於那些關心:

foreach ($html->find('div[class=big-div]') as $element) { 
      $links = $element->find('a'); 
      foreach ($links as $link) { 
       echo $link->href.'<br>'; 
      } 
     } 
+0

找到大格,然後再找到那個對象 – skrilled

+0

的聯繫,這就是我要問怎麼辦! – elgato75

回答

4

documentation是有用的:

$html->find(".big-div")->find('a'); 

,然後繼續讓你感興趣的href和任何其他屬性

編輯:以上將是一般的想法。我從來沒有使用簡單的HTML DOM,所以也許你需要稍微調整語法。嘗試:

foreach($html->find('.big-div') as $bigDiv) { 
    $link = $bigDiv->find('a'); 
    echo $link->href . '<br>'; 
} 

或者是:

$bigDivs = $html->find('.big-div'); 

foreach($bigDivs as $div) { 
    $link = $div->find('a'); 
    echo $link->href . '<br>'; 
} 
+3

誰需要文檔,當人們可以爲你寫代碼時:p – skrilled

+0

當我嘗試這個時 - 致命錯誤:調用一個非對象的成員函數find()。 – elgato75

+0

查看我更新的答案。 – durrrutti