Marc Reichelt: XHTML mit PHP DOM validieren

Beitrag lesen

Hallo molily,

$myDOM->preserveWhiteSpace = false;

Die Einstellung ändern leider nichts daran, das im HTML-Modus deplatzierte Whitespace-Knoten im DOM auftauchen.

Was eigentlich sehr schade ist.
Ich dachte eben daran, ob es eventuell möglich ist, ein DOMDocument-Objekt die HTML-Datei mit loadHTML laden zu lassen, den XML-String mit saveXML zu exportieren und in ein anderes DOMDocument-Objekt mit loadXML wieder zu laden.
Allerdings wird das Dokument auf eine von mir nicht nachvollziehbare Art geändert, sodass der Validator schließlich meckern _muss_.

Auf folgende Art und Weise ist es mir problemlos gelungen, das XHTML-Dokument (als XML) zu laden:

<?php  
  
// Wir geben wirklich alle Meldungen aus  
error_reporting(E_ALL);  
  
// DOMDocument erzeugen  
$myDOM = new DOMDocument();  
  
// XML-Dokument laden  
$myDOM->load('test.html');  
  
// Validator starten  
$result = $myDOM->validate();  
  
if ($result) {  
    echo "XHTML-Dokument konnte erfolgreich geladen werden.\n";  
} else {  
    echo "XHTML-Dokument konnte NICHT geladen werden.\n";  
}  
  
?>

Das war aber vermutlich nicht das, was wahsaga unbedingt wollte. Um HTML-Dateien in DOMDocument einzulesen, muss er anscheinend doch vorerst alle Whitespace-Zeichen entfernen.

Grüße

Marc Reichelt || http://www.marcreichelt.de/

--
Linux is like a wigwam - no windows, no gates and an Apache inside!
Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)