Maison > développement back-end > tutoriel php > Pouvez-vous supprimer des éléments dans un DOMDocument chargé sans en créer un nouveau ?

Pouvez-vous supprimer des éléments dans un DOMDocument chargé sans en créer un nouveau ?

Susan Sarandon
Libérer: 2024-10-31 01:49:02
original
834 Les gens l'ont consulté

 Can You Delete Elements in a Loaded DOMDocument Without Creating a New One?

Suppression d'éléments avec DOMDocument

La manipulation de documents HTML est une tâche courante pour les développeurs Web. En PHP, la classe DOMDocument fournit un moyen pratique d'analyser et de manipuler du code HTML. Bien qu'il soit possible de créer un nouveau DOMDocument à partir de zéro, dans de nombreux cas, il est plus efficace de charger un document existant dans un objet DOMDocument.

L'une des opérations les plus courantes lors de la modification d'un document HTML consiste à supprimer des éléments. Considérons le code HTML suivant :

<code class="html"><p><a href="#">First</a></p>
<p><a href="#">Second</a></p>
<p><a href="#">Third</a></p></code>
Copier après la connexion

Q : Est-il possible de supprimer un élément dans un DOMDocument chargé sans en créer un nouveau ?

<code class="php">$dom = new DOMDocument('1.0', 'utf-8');
$dom->loadHTML($html);

foreach ($dom->getElementsByTagName('a') as $href) {
    if ($href->nodeValue == 'First')
        // delete
}</code>
Copier après la connexion

R : Oui, il est possible de supprimer un élément d'un DOMDocument chargé sans en créer un nouveau :

<code class="php">$href->parentNode->removeChild($href);</code>
Copier après la connexion

Cette approche modifie directement l'objet DOMDocument d'origine. La propriété DOMNode::$parentNode fait référence au nœud parent du nœud actuel et la méthode DOMNode::removeChild() supprime le nœud enfant spécifié du nœud parent.

Ressources supplémentaires pour travailler avec DOMDocuments :

  • [DOMNode::$parentNode Documentation](https://www.php.net/manual/en/domnode.parentnode.php)
  • [DOMNode::removeChild() Documentation ](https://www.php.net/manual/en/domnode.removechild.php)
  • Comment supprimer des attributs à l'aide de PHP DOMDocument ?
  • Comment supprimer un élément HTML à l'aide du Classe DOMDocument

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!

source:php.cn
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