Heim > Web-Frontend > CSS-Tutorial > Wie kann ich mit PHP effizient DOM-Elemente nach Klassennamen abrufen?

Wie kann ich mit PHP effizient DOM-Elemente nach Klassennamen abrufen?

Barbara Streisand
Freigeben: 2024-12-15 01:29:11
Original
655 Leute haben es durchsucht

How to Efficiently Retrieve DOM Elements by Class Name Using PHP?

So rufen Sie DOM-Elemente nach Klassennamen ab

Das Abrufen von Unterelementen mit bestimmten Klassennamen aus DOM-Knoten kann mit verschiedenen Methoden erreicht werden. Hier sind einige Ansätze:

Verwendung von PHP DOM

PHP DOM bietet eine leistungsstarke Möglichkeit, HTML-Dokumente zu bearbeiten. Um Elemente mit einem bestimmten Klassennamen zu erfassen, können Sie Xpath-Selektoren verwenden:

$dom = new DomDocument();
$dom->load($filePath);
$finder = new DomXPath($dom);
$classname = "my-class";
$nodes = $finder->query("//*[contains(@class, '$classname')]");
Nach dem Login kopieren

Mit Zend_Dom_Query

Diese Bibliothek bietet eine praktische Schnittstelle für die Arbeit mit CSS-Selektoren. erleichtert die Auswahl von Elementen:

$finder = new Zend_Dom_Query($html);
$classname = 'my-class';
$nodes = $finder->query("*[class~=\"$classname\"]");
Nach dem Login kopieren

Verwenden der Xpath-Version von *[@class~='my-class'] CSS-Selektor

Nach weiteren Untersuchungen wurde eine Xpath-Version des CSS-Selektors entdeckt:

[contains(concat(' ', normalize-space(@class), ' '), ' my-class ')]
Nach dem Login kopieren

Verwendung dieses XPaths in PHP:

$finder = new DomXPath($dom);
$classname = "my-class";
$nodes = $finder->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' $classname ')]");
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich mit PHP effizient DOM-Elemente nach Klassennamen abrufen?. 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