PHP simple_html_dom和TD遍历

时间:2015-01-04 14:07:07

标签: php simple-html-dom

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

1 个答案:

答案 0 :(得分:1)

替换

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

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

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