使用简单的HTML DOM解析器获取文本值
问题描述:
我尝试使用简单的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文件中使用它?我希望此值可用于创建自动货币汇率转换。谢谢。
答
找到<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
+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
这完全解释了一切。谢谢。 –
谢谢,它适用于简单的HTML DOM解析器。我在这里得到了一个教训:) –