HTML aus DOMDocument ohne HTML-Wrapper speichern
Die vorliegende Aufgabe besteht darin, HTML-Inhalt aus einem DOMDocument-Objekt zu extrahieren, ohne dass dieser unnötig umschlossen wird HTML-Tags. Die Sorge besteht darin, dass bei der Verwendung von saveXML XML-, HTML-, Body- und P-Tag-Wrapper hinzugefügt werden.
Mit der Weiterentwicklung von PHP auf Version 5.4 und Libxml auf 2.6 ist eine Lösung entstanden. Die Funktion „loadHTML“ akzeptiert jetzt einen $option-Parameter, der steuert, wie der Inhalt analysiert wird.
Um dieses Problem zu lösen, können wir den HTML-Code mit den folgenden Optionen laden:
$html->loadHTML($content, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
Diese Optionen deaktivieren das automatische Hinzufügen impliziter HTML-/Body-Elemente und verhindert das Hinzufügen eines Standard-Doctypes. Diese Konfiguration stellt sicher, dass die Ausgabe beim Aufruf von saveHTML keine problematischen Wrapper enthält.
LIBXML_HTML_NOIMPLIED: Turns off the automatic adding of implied html/body elements. LIBXML_HTML_NODEFDTD: Prevents a default doctype from being added when one is not found.
Eine umfassende Dokumentation zu Libxml-Parametern finden Sie unter: [Libxml-Parameterdokumentation](https://www.php .net/manual/en/libxml.constants.php#libxmlconstants.constants.html)
Es ist bemerkenswert, dass die In der LoadHTML-Dokumentation wird erwähnt, dass Libxml 2.6 erforderlich ist, LIBXML_HTML_NODEFDTD nur in Libxml 2.7.8 verfügbar ist und LIBXML_HTML_NOIMPLIED in Libxml 2.7.7 verfügbar ist.
Das obige ist der detaillierte Inhalt vonWie speichere ich HTML aus DOMDocument ohne unnötige Wrapper-Tags?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!