- iterator_to_array: documentation ( source)
<?php
$html = <<<'HTML'
<div id='makeme' class='testme'>
<span id='whatspanID'>somthing</span>
<p class='ptagclass'></p>
</div>
HTML;
$dom = new DOMDocument();
$dom->loadHtml($html);
$xpath = new DOMXpath($dom);
$div = $xpath->evaluate('//div[@id="makeme"]')->item(0);
$nodes = iterator_to_array(
$xpath->evaluate('.//text()|.//@*', $div)
);
foreach ($nodes as $node) {
$node->parentNode->removeChild($node);
}
echo $dom->saveHtml($div);