使用Simple HTML DOM解析器获取文本值


Get text value using Simple HTML DOM Parser

我尝试简单的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 文件?我希望此值可用于创建自动货币汇率转换。谢谢。

首先找到<tr>块,遍历子块并检索所需的项目:

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

输出:

1502.30

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

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

原始 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();
}