Bei dieser Frage geht es um das Extrahieren von Unterelementen aus einem DOM-Knoten basierend auf ihren Klassennamen.
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');
Alternativ können Sie Xpath-Selektoren nutzen:
//*[contains(@class, 'class-name')]
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"]');
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!