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

Wie kann ich DOM-Elemente nach Klassennamen in PHP abrufen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-18 00:04:09557Durchsuche

How Can I Get DOM Elements by Class Name in PHP?

DOM-Elemente nach Klassennamen in PHP abrufen

Das Abrufen eines DOM-Elements mit einem bestimmten Klassennamen ist eine häufige Aufgabe beim Web-Scraping und bei der Automatisierung. PHP bietet mehrere Möglichkeiten, dies zu erreichen:

Verwendung von XPath

Die folgende XPath-Abfrage kann verwendet werden, um Elemente basierend auf ihrem Klassennamen auszuwählen:

//*[contains(@class, 'CLASS_NAME')]

Zum Beispiel:

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

Verwendung des CSS-Selektors Syntax

Zend_Dom_Query, eine PHP-Bibliothek, unterstützt die CSS-Selektorsyntax, sodass Sie den folgenden CSS-Selektor verwenden können:

*[class~="CLASS_NAME"]

Zum Beispiel:

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

Zusätzliche Hinweise:

  • Wenn das Element Wenn Sie nach einem bestimmten Tag-Namen suchen, können Sie das Sternchen (*) in der Abfrage durch den Tag-Namen ersetzen.
  • Zend_Dom_Query wird für komplexe Selektoranforderungen empfohlen.
  • Wenn Sie Wenn Sie Mechanize verwenden, bietet es einfachere Methoden für die Arbeit mit DOM-Elementen.

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