我已经安装了一个 JSON 插件并获得了 HTML 页面的内容。现在我想解析并找到一个特定的表,它只有类,但没有 id。我使用 PHP 类 DOMDocument 对其进行解析。我的想法是访问表格之前的标签,然后以某种方式使用 DOMDocument 访问下一个以下标签(我的表格)。例子:
<a name="Telefonliste" id="Telefonliste"></a>
<table class="wikitable">
所以,我得到了拳头,<a>
然后我得到了<table>
。
我已经使用以下命令获得了所有表格,尤其是getElementsByTagName()
. 之后,我可以访问我的表所在的 item(2):
$dom = new DOMDocument();
//load html source
$html = $dom->loadHTML($myHtml);
//discard white space
$dom->preserveWhiteSpace = false;
//the table by its tag name
$table = $dom->getElementsByTagName('table');
$rows = $table->item(2)->getElementsByTagName('tr');
这种方式没问题,但我想让它更通用,因为现在我知道该表位于 item(2) 中,但是可以更改位置,例如,如果一个新表包含在我的表之前的 HTML 页面中。我的表不会在 item(2) 中,而是在 item(3) 中。所以,我希望它以一种我仍然可以到达该表的方式进行解析,而无需更改我的代码中的某些内容。我可以使用 DOMDocument 作为 DOM 解析器吗?