PHP simple_html_dom and TD traversal


PHP simple_html_dom and TD traversal

我正在尝试如何使用"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;              
        }
     }

替换

$dom->find('table',0)->find('tr', 1)->find('td', 1);

$dom->find('table',0)->find('tr', 1)->find('td');

当前,您仅在指定第二个参数时提取第一个td。请注意,这也只通过表的第一行。