Есть несколько проблем с этим кодом:
- Для загрузки из файла HTML вам нужно использовать
DOMDocument::loadHTMLFile()
, а не loadHTML()
, как вы это сделали.Используйте $dom->loadHTMLFile("figures.html")
. - Вы не можете использовать
getElementsByTagName()
на DOMNodeList
, как вы сделали (на $table
).Его можно использовать только на DOMDocument
.
. Вы можете сделать что-то вроде этого:
$dom = new DOMDocument();
$dom->loadHTMLFile("figures.html");
$tables = $dom->getElementsByTagName('table');
// Find the correct <table> element you want, and store it in $table
// ...
// Assume you want the first table
$table = $tables->item(0);
foreach ($table->childNodes as $td) {
if ($td->nodeName == 'td') {
echo $td->nodeValue, "\n";
}
}
В качестве альтернативы, вы можете просто напрямую искать все элементы с именем тега td
(хотя я уверен, что вы хотите сделать это в виде таблицы.