Supprimer les balises avec un identifiant spécifique et leur code HTML interne
Pour extraire une balise spécifique et tous ses éléments internes, nous pouvons exploiter le pouvoir de manipulation du DOM. Dans ce cas, notre objectif est de supprimer tout ce qui se trouve dans
en utilisant son identifiant unique.
Approche DOM native
L'extrait de code PHP suivant utilise l'extension DOM native pour accomplir cette tâche :
<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>
Copier après la connexion
Dans ce code :
- Nous chargeons d'abord la chaîne HTML dans un objet DOMDocument à l'aide de loadHTML().
- Nous créons ensuite un objet DOMXPath pour effectuer des requêtes XPath sur le DOM.
- Nous utilisons query() pour trouver le nœud avec la valeur d'attribut id de "anotherDiv".
- Si le nœud est trouvé, nous le supprimons de son nœud parent en utilisant RemoveChild().
- Enfin, nous enregistrons le code HTML modifié dans une chaîne à l'aide de saveHTML().
Cette méthode supprime efficacement le
balise et tout son contenu du document HTML.
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