Comment accéder à l'élément DOM InnerHTML dans l'API PHP DOM
Dans l'implémentation PHP DOM, l'accès au innerHTML d'un DOMNode nécessite une approche spécifique . Voici une solution fiable et comment elle se compare aux autres options.
L'API PHP DOM ne fournit pas de fonction dédiée pour récupérer le HTML interne. Contrairement à JavaScript, où innerHTML est une propriété d'un élément, dans PHP DOM, vous devez parcourir manuellement les enfants du nœud pour construire le innerHTML.
Variante mise à jour avec la note utilisateur manuelle PHP #89718
La note de l'utilisateur suggère une variante mise à jour pour construire le innerHTML :
function DOMinnerHTML(DOMNode $element) { $innerHTML = ""; $children = $element->childNodes; foreach ($children as $child) { $innerHTML .= $element->ownerDocument->saveHTML($child); } return $innerHTML; }
Exemple d'utilisation
En supposant que vous ayez une chaîne HTML stockée dans $html_string, voici comment implémenter cette fonction :
$dom = new DOMDocument(); $dom->preserveWhiteSpace = false; $dom->formatOutput = true; $dom->load($html_string); $domTables = $dom->getElementsByTagName("table"); foreach ($domTables as $table) { echo DOMinnerHTML($table); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!