Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich DOM-Elemente effizient nach Klassennamen in PHP auswählen?

Wie kann ich DOM-Elemente effizient nach Klassennamen in PHP auswählen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-12 17:37:15768Durchsuche

How Can I Efficiently Select DOM Elements by Class Name in PHP?

DOM-Elemente nach Klassennamen abrufen

Bei dieser Frage geht es um das Extrahieren von Unterelementen aus einem DOM-Knoten basierend auf ihren Klassennamen.

PHP DOM Ansatz

Eine Methode besteht darin, die Fähigkeit von PHP DOM zu nutzen, das DOM über CSS-Selektoren zu durchqueren. Um Elemente nach Klassennamen auszuwählen, verwenden Sie die folgende Syntax:

$nodes = $document->getElementsByClassName('class-name');

Xpath Selector Approach

Alternativ können Sie Xpath-Selektoren nutzen:

//*[contains(@class, 'class-name')]

Zend_Dom_Query Approach

Für komplexere Abfragen sollten Sie die Verwendung von Zend_Dom_Query in Betracht ziehen, das CSS-Selektoren unterstützt Syntax:

$finder = new Zend_Dom_Query($html);
$nodes = $finder->query('*[class~="class-name"]');

Aktualisierte Xpath-Version des CSS-Selektors

Durch Ändern des CSS-Selektors können wir ein effizienteres Xpath-Äquivalent erhalten:

[contains(concat(' ', normalize-space(@class), ' '), ' class-name ')]

Das obige ist der detaillierte Inhalt vonWie kann ich DOM-Elemente effizient nach Klassennamen in PHP auswählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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