Heim > Artikel > Backend-Entwicklung > Können Sie Elemente in einem geladenen DOM-Dokument löschen, ohne ein neues zu erstellen?
Elemente mit DOMDocument löschen
Das Bearbeiten von HTML-Dokumenten ist eine häufige Aufgabe für Webentwickler. In PHP bietet die DOMDocument-Klasse eine praktische Möglichkeit, HTML-Code zu analysieren und zu bearbeiten. Während es möglich ist, ein neues DOMDocument von Grund auf zu erstellen, ist es in vielen Fällen effizienter, ein vorhandenes Dokument in ein DOMDocument-Objekt zu laden.
Eine der häufigsten Operationen beim Ändern eines HTML-Dokuments ist das Entfernen von Elementen. Betrachten wir den folgenden HTML-Code:
<code class="html"><p><a href="#">First</a></p> <p><a href="#">Second</a></p> <p><a href="#">Third</a></p></code>
F: Ist es möglich, ein Element in einem geladenen DOM-Dokument zu löschen, ohne ein neues zu erstellen?
<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>
A: Ja, es ist möglich, ein Element aus einem geladenen DOMDocument zu löschen, ohne ein neues zu erstellen:
<code class="php">$href->parentNode->removeChild($href);</code>
Dieser Ansatz ändert das ursprüngliche DOMDocument-Objekt direkt. Die Eigenschaft DOMNode::$parentNode verweist auf den übergeordneten Knoten des aktuellen Knotens, und die Methode DOMNode::removeChild() entfernt den angegebenen untergeordneten Knoten vom übergeordneten Knoten.
Zusätzliche Ressourcen für die Arbeit mit DOMDocuments:
Das obige ist der detaillierte Inhalt vonKönnen Sie Elemente in einem geladenen DOM-Dokument löschen, ohne ein neues zu erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!