1

我尝试使用 Simple HTML DOM Parser 从外部网站获取特定文本。这是我的代码:

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 文件?我希望这个值可以用来创建自动货币汇率转换。谢谢。

4

3 回答 3

2

首先找到<tr>块,遍历孩子并检索您想要的项目:

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

输出:

1502.30
于 2013-10-08T15:31:12.900 回答
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;
}

我从未使用过该库,但 find <tr>'s first 更有意义。然后,匹配相关值没有问题:

// 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();
}
于 2013-10-08T15:14:15.467 回答
0

你不能只使用爆炸吗?(假设你总是得到这样的带空格的输出)

$value = explode(" ",$raw->plaintext);
echo $value[1]; //your desired value
于 2013-10-08T15:11:20.003 回答