html dom从表中获取第2 n行的值

时间:2018-08-08 14:21:57

标签: php html simple-html-dom

从页面上的一个表格中:e-kickoff,我将获得表3的值。该表显示了足球比赛,最多可以进行40场比赛。因此,我开始使用以下代码对表3中的所有行进行计数:

$table = $html->find('table', 3);

$total = $table->find('tr'); //FINDS TRs IN A TABLE(s)

$rows = count($total); //TOTAL ROWS IN ALL THE TABLE

echo "Aantal rijen in tabel 3 = " .$rows ."<br />"; //OUTPUTS

我想获取第2行中包含4个td(日期,小时,团队和比赛)的第一个比赛的值,以及第二个td中显示比赛主队地址的第4行的值。在表6和8、10和12、14和16、18和20、22和24等中,以下匹配项的值相同,依此类推,如表3中所示。

如果可能的话,我希望将每个匹配项的两行都放在一个数组中,但是为了测试,我开始显示一个数组中的第2、4、6、8行等等,而第4、8、12行,在第二个数组中是16,20等等。

我使用以下代码:

$table = $html->find('table', 3);
for( $m= $startrijmatch ; $m < $rows ; $m+=4 ) {
    $match = '';
    $match = $table->find('tr', $startrijmatch);
    echo "Aantal cellen in rij " .$m. " = " .count($match->children()) ."<br />";
    $cells = count($match->children());
    echo "Aantal cellen in rij " .$m. " = " .$cells ."<br />";
    //Loop through each child (cell) of the row
        for( $i= 0 ; $i <= $cells ; $i++ ) {
            echo $match->children($i)->plaintext ."<br />"; // Display the contents of each cell - this is the value you want to extract
            $arrwedstrijd[] = $match->children($i)->plaintext ."<br />";
        }
 }        
for( $a= $startrijadres ; $a < $rows ; $a+=4 ) { 
    $ret = $table->find('tr', $startrijadres);
    echo "Aantal cellen in rij " .$a. "  = " .count($ret->children()) ."<br />";
    $cells = count($ret->children());
    echo "Aantal cellen in rij " .$a. " = " .$cells ."<br />";

    $wed = $ret->children(1)->plaintext ."<br />"; // Display the contents of each cell - this is the value you want to extract
    $adres = $ret->find('td', 1);
    echo "Adres = " .$adres ."<br />";
    $arradres[] = $adres."<br />";


}
print_r($arrwedstrijd);
echo "<br />";
echo '<hr style="border: 3px solid green; margin-left: auto; margin-right: auto;" />';
echo "<br />";
print_r($arradres);

但是正如您在testpage上看到的那样,我仅获得相同的第一个值。

我在做错什么,以及如何将所有东西都放在一个阵列中?

0 个答案:

没有答案