即使我在特定标记中,PHP DOM也会返回所有节点。我一直试图解决这个问题大约两周,但没有进展。请帮忙。
这是我的代码:
$dom = new DOMDocument;
$dom->loadhtmlfile($url);
$doc=$dom->documentElement;
$res = $doc->getElementsByTagName('td')->item(54);
$tables = $res->getElementsByTagName('table'); //Here it returns every 'table', not just the ones which are under that 'td'
答案 0 :(得分:0)
来自documentation: getElementsByTagName - 搜索具有给定本地标记名称的所有元素
如果要在'td'元素中找到表,请使用XPath查询。
$xpath = new DOMXpath($dom);
$tables = $xpath->query("//td/table");