Maison > interface Web > tutoriel CSS > Comment récupérer efficacement les éléments DOM par nom de classe à l'aide de PHP ?

Comment récupérer efficacement les éléments DOM par nom de classe à l'aide de PHP ?

Barbara Streisand
Libérer: 2024-12-15 01:29:11
original
655 Les gens l'ont consulté

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

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')]");
Copier après la connexion

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\"]");
Copier après la connexion

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 ')]
Copier après la connexion

Utilisation de ce XPath dans PHP :

$finder = new DomXPath($dom);
$classname = "my-class";
$nodes = $finder->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' $classname ')]");
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal