我尝试使用" simple_html_dom.php"来尝试如何遍历此特定表。我尝试了很多不同的角度,但却无法做到。我可以逐行分离表格,但我不能将TD值切分为单独的组件。
我尝试做的是从该站点获取表格并将TD值移动到我可以可靠且可预测地使用的特定(数组)变量中。我认为,问题部分复杂,因为TR或TD没有任何我能找到的属性。
$dom = file_get_html('http://www.asx.com.au/asx/statistics/prevBusDayAnns.do');
$tds = $dom->find('table',0)->find('tr', 1)->find('td', 1);
foreach($tds as $td)
{
echo $td->plaintext . '</br>'
}
上面的代码找到了第一个TR,但我希望$tds
具有TD单元格1的值。但事实并非如此。它吐出整个TR。
我已经浏览了文档并在网上搜索过,但没有运气。
编辑 - 解决方案(类似这样):
$tds = $dom->find('table',0)->find('tr');
foreach($dom->find('tr') as $key => $tr)
{
$td = $tr->find('td');
if (isset($td[0]))
{
echo $td[0]->plaintext . '</br>'; // First TD column
//echo $td[1]->plaintext;
//echo $td[2]->plaintext;
//echo $td[3]->plaintext;
//echo $td[4]->plaintext;
//echo $td[5]->plaintext;
}
}
答案 0 :(得分:1)
替换
$dom->find('table',0)->find('tr', 1)->find('td', 1);
带
$dom->find('table',0)->find('tr', 1)->find('td');
您当前仅在指定第二个参数时才提取第一个td
。请注意,这也仅通过第一个表行。