Maison >développement back-end >tutoriel php >Comment obtenir le HTML interne des DOMNodes à l'aide de l'implémentation DOM de PHP ?

Comment obtenir le HTML interne des DOMNodes à l'aide de l'implémentation DOM de PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-29 12:54:11988parcourir

How to Get the innerHTML of DOMNodes Using PHP's DOM Implementation?

Obtenir le HTML interne des DOMNodes dans l'implémentation PHP DOM

Lorsque vous travaillez avec l'implémentation DOM de PHP, il est essentiel de comprendre les méthodes disponibles pour récupérer le HTML interne. de DOMNodes. L'exploration suivante fournira une solution complète à cette tâche courante.

Implémentation PHP :

Pour acquérir le innerHTML d'un DOMNode donné, PHP propose deux fonctions principales :

  • innerHTML (Personnalisé Fonction :

La note utilisateur du manuel PHP n° 89718 fournit une version mise à jour de cette fonction personnalisée :

function DOMinnerHTML(DOMNode $element)
{
    $innerHTML = "";
    $children  = $element->childNodes;

    foreach ($children as $child)
    {
        $innerHTML .= $element->ownerDocument->saveHTML($child);
    }

    return $innerHTML;
}

Cette fonction parcourt de manière récursive les enfants du DOMNode, en utilisant saveHTML () pour récupérer la représentation HTML de chaque child.

  • ownerDocument->saveHTML():

Cette méthode renvoie la représentation HTML du DOMNode spécifié. Il peut être utilisé sur le OwnerDocument du DOMNode pour obtenir son innerHTML.

Exemple d'utilisation :

Voici un exemple démontrant l'utilisation de la fonction DOMinnerHTML() :

$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);
}

Ce script récupère tous les tableaux d'une chaîne HTML et imprime leur innerHTML en utilisant le Fonction DOMinnerHTML().

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:
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