2013-03-03 120 views
0

我想從頁面刮兩個不同的東西,如果我只颳了鏈接,然後我可以做一個foreach並獲得鏈接,但我也希望標題代表該鏈接以及。刮兩個元素

這裏是頁

<div id="parent"> 
<span id="title">Title</span> 


<div id="Two"> 
<a href="somelink">Somelink</a> 
</div> 
</div> 

這裏的標記的一個例子是剛開的標題的例子和鏈接

foreach($html->find('div[id=Two] a') as $a){ 
echo $a->href; 
} 

foreach($html->find('span[id=title]') as $az){ 
echo $az->plaintext; 
} 

但我需要他們在一個循環,這樣我就可以有標題及其各自鏈路

喜歡的東西

foreach($html->find('span['id=title'] as $a, div[id=Two] a') as $aa){ 

雖然使用簡單的HTML DOM

回答

0

是不會工作

林,我認爲這應該工作提供了始終有兩個標題和鏈接:

$links = $html->find('div[id=Two] a'); 
$titles = $html->find('span[id=title]'); 

foreach ($links as $i => $a) 
{ 
    echo $titles[$i]->plaintext; 
    echo $a->href; 
} 
0

在所有,但一些未測試像這樣應該可以工作。您可能需要添加驗證檢查以確保每個標題都有鏈接。

foreach($html->find('div[id=parent]') as $parent) { 
    $title = $parent->find('span[id=title]')->plaintext; 
    $href = $parent->find('div[id=Two] a')->href; 

    echo $title . ': ' . $href . '<br />'; 
} 
+0

犯規回聲出什麼 – 2013-03-03 02:32:23

+0

在它沒有找到任何'DIV這種情況下,[ID =父]單曲 - 被他們肯定ID'ed? – Joe 2013-03-03 13:43:01