PHP简单HTML DOM - 逐行表

时间:2014-04-26 16:34:01

标签: php html dom

我目前可以使用simplehtmldom解析html表。我遇到的问题是程序在一个块中打印整个表。

我将如何逐行打印?

我怎样才能将行限制为有时间的行? (见http://www.masjid-umar.org/downloads/timetable_apr.htm

以下是我目前使用的代码:

<?php
include('simple_html_dom.php');
$dom = file_get_html('http://www.masjid-umar.org/downloads/timetable_apr.htm');
$table = $dom->find('table',0);
$rows = $table->children(0)->children();
foreach($rows as $row)
    foreach($row->children() as $column) {{
        if(!empty($column->innertext)) {
            echo $column->innertext . '<br />' . PHP_EOL;
        }
    }
}

以下内容已打印http://pastebin.com/cAMECf9f

2 个答案:

答案 0 :(得分:0)

您可以将单个单元存储在一个多维数组中并循环遍历它以输出它,但如果您只是想要该表,则可以跳过循环并执行以下操作:

$table = $dom->find('table',0);
echo $table->save();

答案 1 :(得分:0)

只是搜索时间:

foreach($dom->find('tr') as $tr){
  if(!preg_match('/\d+\.\d+/', $tr->text())) continue;
  echo $tr->text() . "\n";
}