2013-10-08 435 views
1

我嘗試使用簡單的HTML DOM解析器從外部網站獲取特定文本。這裏是我的代碼:使用簡單的HTML DOM解析器獲取文本值

include('simple_html_dom.php'); 
    $html = file_get_html('http://www.bca.co.id/id/biaya-limit/kurs_counter_bca/kurs_counter_bca_landing.jsp'); 

foreach ($html->find('td',13) as $raw) { 
    echo $raw->plaintext; 
} 

到目前爲止,我得到一個行的結果:

HKD 1502.30 1470.40 

港元是貨幣。賣出價格是1502.30,買入價格是1470.40。

如何獲得1502.30的值,並在另一個PHP文件中使用它?我希望此值可用於創建自動貨幣匯率轉換。謝謝。

回答

2

找到<tr>塊第一,遍歷兒童和檢索所需的項目:

foreach ($html->find('tr',5)->children() as $raw) { 
    $values[] = $raw->plaintext; 
} 
echo $values[1]; 

輸出:

1502.30 
+0

謝謝,它適用於簡單的HTML DOM解析器。我在這裏得到了一個教訓:) –

0

難道你只是使用爆炸? (假設你總是用空格此類似輸出)

$value = explode(" ",$raw->plaintext); 
echo $value[1]; //your desired value 
+0

可能在某些情況下工作,但它不起作用,因爲我選擇了錯誤的標籤選擇器。謝謝。 –

0

原始的HTML是這樣的:

<tr> 
    <td style="text-align:center;">HKD</td> 
    <td style="text-align:right;">1502.30</td> 
    <td style="text-align:right;">1470.40</td> 
    <!-- kolom dua --> 
</tr> 

...所以這三個值已經分開。你顯然不只是存儲它們,相反,簡單地將它們打印:

foreach ($html->find('td',13) as $raw) { 
    echo $raw->plaintext; 
} 

我從來沒有使用的庫,但它更有意義,首先找到<tr>的。那麼,有沒有配套的相關值的問題:

// Completely untested (I even made up the function names) 
foreach ($html->find('tr') as $tr) { 
    $cells = $tr->find('td'); 
    $currency = $cells[0]->getValue(); 
    $sell = $cells[1]->getValue(); 
    $buy = $cells[2]->getValue(); 
} 
+0

這完全解釋了一切。謝謝。 –

相關問題