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