Maison > développement back-end > tutoriel php > Comment obtenir le innerHTML d'un DOMNode à l'aide de l'API PHP DOM ?

Comment obtenir le innerHTML d'un DOMNode à l'aide de l'API PHP DOM ?

Susan Sarandon
Libérer: 2024-12-18 06:38:10
original
835 Les gens l'ont consulté

How to Get the innerHTML of a DOMNode Using the PHP DOM API?

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; 
} 
Copier après la connexion

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); 
} 
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal