Maison >développement back-end >tutoriel php >Comment supprimer du contenu HTML spécifique basé sur l'ID à l'aide du DOM natif ?

Comment supprimer du contenu HTML spécifique basé sur l'ID à l'aide du DOM natif ?

DDD
DDDoriginal
2024-10-26 06:08:31446parcourir

How to Remove Specific HTML Content Based on ID Using Native DOM?

Suppression du contenu HTML interne en fonction de l'ID

Ce guide montre comment supprimer efficacement un contenu HTML spécifique enfermé dans une balise identifiée par son ID. en supprimant les sections indésirables d'une page Web.

Énoncé du problème

Considérez le code HTML suivant :

<code class="html"><html>
    <body>
        bla bla bla bla
        <div id="myDiv">
            more text
            <div id="anotherDiv">
                And even more text
            </div>
        </div>
        bla bla bla
    </body>
</html></code>

Le but est de supprimer tout ce qui commence à partir du

balise, y compris sa fermeture
.

Solution DOM native

En utilisant le DOM natif (Document Object Model), vous pouvez y parvenir comme suit :

<code class="php">$dom = new DOMDocument;
$dom->loadHTML($htmlString);
$xPath = new DOMXPath($dom);
$nodes = $xPath->query('//*[@id="anotherDiv"]');
if($nodes->item(0)) {
    $nodes->item(0)->parentNode->removeChild($nodes->item(0));
}
echo $dom->saveHTML();</code>

Ce code initialise un objet DOMDocument, y charge le code HTML et crée un objet XPath à interroger en fonction de l'ID spécifié. Il trouve ensuite le nœud correspondant et le supprime de son parent, supprimant ainsi le contenu HTML indésirable.

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