Comment récupérer des éléments DOM par nom de classe
La récupération de sous-éléments avec des noms de classe spécifiques à partir de nœuds DOM peut être réalisée en utilisant diverses méthodes. Voici quelques approches :
Utilisation de PHP DOM
PHP DOM fournit un moyen puissant de manipuler des documents HTML. Pour récupérer des éléments avec un nom de classe donné, vous pouvez utiliser les sélecteurs Xpath :
$dom = new DomDocument(); $dom->load($filePath); $finder = new DomXPath($dom); $classname = "my-class"; $nodes = $finder->query("//*[contains(@class, '$classname')]");
Utilisation de Zend_Dom_Query
Cette bibliothèque offre une interface pratique pour travailler avec les sélecteurs CSS, facilitant la sélection des éléments :
$finder = new Zend_Dom_Query($html); $classname = 'my-class'; $nodes = $finder->query("*[class~=\"$classname\"]");
Utilisation de la version XPath de *[@class~='my-class'] Sélecteur CSS
Après une enquête plus approfondie, une version Xpath du sélecteur CSS a été découverte :
[contains(concat(' ', normalize-space(@class), ' '), ' my-class ')]
Utilisation de ce XPath dans PHP :
$finder = new DomXPath($dom); $classname = "my-class"; $nodes = $finder->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' $classname ')]");
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!