Können Sie Elemente in einem geladenen DOM-Dokument löschen, ohne ein neues zu erstellen?

Susan Sarandon
Freigeben: 2024-10-31 01:49:02
Original
788 Leute haben es durchsucht

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

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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:

  • [DOMNode::$parentNode-Dokumentation](https://www.php.net/manual/en/domnode.parentnode.php)
  • [DOMNode::removeChild()-Dokumentation ](https://www.php.net/manual/en/domnode.removechild.php)
  • Wie entferne ich Attribute mit PHP DOMDocument?
  • Wie entferne ich ein HTML-Element mit dem DOMDocument-Klasse

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage