Incuriosito dal problema (non ho mai fatto parsing del genere) ho provato ma senza successo, nel senso che non sono riuscito ad estrarre il contenuto del div#notizia cosi' com'e' con tutti i tag interni.
Codice PHP:
<?php
$str = '<div id="notizia">
<div id="data">11 gennaio 2009</div>
<div id="testo">testo della notizia</div>
</div>
<div id="separatore"></div>';
$dom = new DOMDocument;
$dom->loadHTML($str);
$divs = $dom->getElementsByTagName('div');
echo $divs->item(0)->nodeValue;
?>
restituisce il contenuto ma senza i div#data e div#testo
Codice PHP:
<?php
$str = '<div id="notizia">
<div id="data">11 gennaio 2009</div>
<div id="testo">testo della notizia</div>
</div>
<div id="separatore"></div>';
$tidy = tidy_parse_string($str, array('output-xml' => true));
$tidy->cleanRepair();
$xml = new SimpleXMLElement($tidy);
print_r($xml);
?>
anche qui i div interni sembrano persi.