Dom解析多个表格

时间:2014-09-24 01:39:44

标签: php dom

我正在尝试访问网站上第一个和第二个表格中的信息。使用下面的代码我只能访问第一个表。我用什么语法来到第二个或第n个表?

$url = "http://iditarod.com/race/2014/";

//new dom object
$dom = new DOMDocument();

//load the html
$html = $dom->loadHTMLFile($url);

//discard white space 
$dom->preserveWhiteSpace = false; 

//the table by its tag name
$tables = $dom->getElementsByTagName('table'); 

//get all rows from the table
$rows = $tables->item(0)->getElementsByTagName('tr');

1 个答案:

答案 0 :(得分:1)

要获取第二个表格,请使用item(1)。要获取 nth 表,请使用 n - 1

getElementsByTagName('table')返回的是DOMNodeList,其中包含文档中所有elements名为“table”的内容。 DOMNodeList方法item()在给定索引处从该列表返回DOMNode,项目索引从0开始。

所以要从第二个表中获取所有行:

$rows = $tables->item(1)->getElementsByTagName('tr');