使用PHP解析HTML表

时间:2012-03-27 22:34:02

标签: php html parsing dom simple-html-dom

我一直在尝试使用不同的工具解析this网站上的底部表格。

到目前为止,我使用Simple HTML Dom库取得了最大的成功,但我仍然无法弄清楚如何只解析最后一个表。

到目前为止,我的代码是:

<?php

require('simple_html_dom.php');

$table = array();

$html = file_get_html('http://www.waterlevels.gc.ca/cgi-bin/tide-shc.cgi?zone=20&region=1&   language=english&station=9635&queryType=predict&year=2012&month=2&day=9&view=table&TZ=PST');

foreach($html->find('tr') as $row) 
{
//confused as what to do there to parse only last table in given URL
}

echo '<pre>';
print_r($table);
echo '</pre>';

?>

如果有人对如何让图书馆只解析最后一个表格有任何建议,我们将不胜感激。

由于

2 个答案:

答案 0 :(得分:3)

您可以在find()调用中使用负数来获取特定元素。这应该会得到倒数第二个表,其中包含所有数据:

$table = $html->find('table',-2);
foreach($table->find('tr') as $row)
{
  // Process each row
}

答案 1 :(得分:0)

你应该能够使用这样的东西:

$ret = $html->find('tr', 0);

只需用正确的#

替换0即可