Ciao linoma. Grazie per il suggerimento.
Ho appena provato quello che mi hai suggerito.
qualcosa ottengo ma non è quello che mi serve
Nel caso avessi sbagliato ad applicare il suggerimento posto il codice che ho sperimentato:
$file = "html.txt";
$doc = new DOMDocument();
$doc->loadHTMLFile($file);

$xpath = new DOMXpath($doc);
$elements = $xpath->query("//*[@id]");
if (!is_null($elements)) {
echo "<pre>\n";
print_r($elements);
echo "</pre>\n";
foreach ($elements as $element) {
echo "<br/>[". $element->nodeName. "]";

$nodes = $element->childNodes;
foreach ($nodes as $node) {
echo $node->nodeValue. "\n";
}
}
} else {
echo "Trovato nulla!<br />\n";
}

ottengo solo questo;

// col <pre>
DOMNodeList Object
(
)

// col foreach
[div]
[div]
[div]
[div]
[div]
[div]
[div]
Quel che dovrei ottenere è
<div id="top"> </div>
<div id="header"> </div>
<div id="menu"> </div>
ecc.