2012-09-17 25 views
1

我試圖循環瀏覽HTML頁面的代碼並重新格式化它的內容。它有div中的幾個div,我想提取。我已經嘗試過各種形式的爆炸,正則表達式和DOM,但是找不到如何做到這一點。對於每個div標記,取其內容

實施例:

<div class="section1"> 
<div class="section2">number 1</div> 
</div> 
<div class="section1"> 
<div class="section2">number 2</div> 
</div> 

我正在尋找的結果是,基本上,每個部分如圖1所示,得到第2內容,所以輸出將是: 號1,號2

有誰知道如何做這樣的事情?

+3

DOM可以說是最好的方式。你可以發佈你用DOM試過的代碼嗎?我們可以看看它發生了什麼錯誤? – Fluffeh

+0

當你說輸出,哪裏輸出太多,並閱讀?你是否試圖主動解析一個實時網站,或者只是在線下閱讀腳本? – Zeritor

+0

JavaScript是唯一一個**正確**的方式來做到這一點。 – Chris

回答

1

這是一個jQuery的的解決方案,而不是PHP

$('.section1).each(function() { 
    return $(this).html(); 
}); 
+0

php not javascript –

+0

noop,沒有JavaScript或jquery –

+1

ops對不起!我將刪除它,但我認爲Javascript解決方案是唯一的一個... –

3

應該是很容易與DOMXPath

$doc = new DOMDocument; 
$doc->loadHTML(/*...*/); // load the HTML here 
$xpath = new DOMXPath($doc); 
$result = $xpath->query("//div[@class='section1']/div[@class='section2']/text()"); 

foreach ($result as $item) { 
    echo "$item->wholeText\n"; 
} 

See it in action

+0

今天晚些時候我會試一試,謝謝你的努力! – user1105971