2013-08-25 33 views
-3

裏面只有前5個環節到目前爲止,我有這個PHP簡單的HTML DOM獲得一個div類

<?PHP include('simple_html_dom.php'); 
$html = file_get_html('http://www.mangastream.com/'); 
foreach($html->find('.side-nav') as $t) 
foreach($t->find('a')as $k) 
echo $k->href . '<br>'; 
?> 

它把從類中的所有鏈接。但我只想擁有前5個鏈接。

+0

你寫了關於HTML,但事實上這是一個數組。那麼爲什麼不先學習數組呢? http://php.net/array http://php.net/book.array - 在任何情況下都有['ArrayIterator'](http://php.net/ArrayIterator)和['LimitIterator'](http ://php.net/LimitIterator)。 – hakre

+0

我看着它。我知道我應該使用一個數組。即時通訊只是不確定如何得到一個鏈接存儲爲一個數組,因爲它看起來像整個鏈接輸出不分開存儲atm。 – user2715572

+0

簡單的html dom返回數組 - 我在下面添加的答案中展示了一個示例。 – hakre

回答

-2

嘗試

<?PHP include('simple_html_dom.php'); 
$html = file_get_html('http://www.mangastream.com/'); 
foreach($html->find('.side-nav') as $t){ 
    foreach($t->find('a')as $key => $k){ 
     echo $k->href . '<br>'; 
     if($key >= 4){ 
      break; 
     } 
    } 
} 
?> 
+0

非常。我如何增加我們的聲譽? – user2715572

0

find()返回一個數組,你可以做一個單一的查找操作,而不是兩個,並且可以通過使用array_slice片陣列的第一五行。

這使您可以輕鬆獲得前五個元素:

$ks = $html->find('.side-nav a'); 
foreach (array_slice($ks, 0, 5) as $k) 
    echo $k->href, '<br>' 
; 

不過我建議你把基於DOM文檔HTML解析器 - 也許用SimpleXML compbination,這樣就可以在文檔運行XPath查詢來代替。