Extrahieren von innerem HTML aus DOM-Knoten in PHP
Die PHP-DOM-Implementierung bietet nativ keine Methode zum Abrufen des inneren HTML eines bestimmten DOM-Knotens . Um dieses Problem zu beheben, haben Entwickler eine Problemumgehung mithilfe der DOMinnerHTML()-Funktion entwickelt.
DOMinnerHTML-Funktion
Die DOMinnerHTML()-Funktion verwendet einen DOMNode als Parameter und gibt den zurück innerHTML als String. Es iteriert rekursiv durch die untergeordneten Knoten des DOMNode und erstellt das innereHTML, indem es jeden untergeordneten Knoten mit $element->ownerDocument->saveHTML($child) serialisiert.
function DOMinnerHTML(DOMNode $element) { $innerHTML = ""; $children = $element->childNodes; foreach ($children as $child) { $innerHTML .= $element->ownerDocument->saveHTML($child); } return $innerHTML; }
Beispielverwendung
Um die Funktion DOMinnerHTML() zu verwenden, erstellen Sie ein neues DOMDocument Objekt, laden Sie Ihren HTML-Code hinein und rufen Sie die DOMNodeList mit den gewünschten Knoten ab. Anschließend durchlaufen Sie die DOMNodeList und rufen DOMinnerHTML() auf jedem Knoten auf, um dessen innerHTML zu extrahieren.
$dom= new DOMDocument(); $dom->preserveWhiteSpace = false; $dom->formatOutput = true; $dom->load($html_string); $domTables = $dom->getElementsByTagName("table"); // Iterate over DOMNodeList (Implements Traversable) foreach ($domTables as $table) { echo DOMinnerHTML($table); }
Diese Problemumgehung bietet eine zuverlässige Lösung zum Abrufen des innerHTML von DOMNodes in PHP und ermöglicht Entwicklern den Zugriff und die Änderung Inhalt von DOM-Elementen ohne Verwendung externer Bibliotheken.
Das obige ist der detaillierte Inhalt vonWie kann ich inneres HTML aus DOM-Knoten in PHP extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!