Maison > interface Web > tutoriel CSS > Comment puis-je obtenir des éléments DOM par nom de classe en PHP ?

Comment puis-je obtenir des éléments DOM par nom de classe en PHP ?

Mary-Kate Olsen
Libérer: 2024-12-18 00:04:09
original
553 Les gens l'ont consulté

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

Obtenir des éléments DOM par nom de classe en PHP

Obtenir un élément DOM avec un nom de classe spécifique est une tâche courante dans le scraping et l'automatisation du Web. PHP propose plusieurs façons d'y parvenir :

Utilisation de XPath

La requête XPath suivante peut être utilisée pour sélectionner des éléments en fonction de leur nom de classe :

//*[contains(@class, 'CLASS_NAME')]
Copier après la connexion

Par exemple :

$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 du sélecteur CSS Syntaxe

Zend_Dom_Query, une bibliothèque PHP, prend en charge la syntaxe du sélecteur CSS, vous permettant d'utiliser le sélecteur CSS suivant :

*[class~="CLASS_NAME"]
Copier après la connexion

Par exemple :

$finder = new Zend_Dom_Query($html);
$classname = 'my-class';
$nodes = $finder->query("*[class~='$classname']");
Copier après la connexion

Notes supplémentaires :

  • Si l'élément que vous êtes que vous recherchez a un nom de balise spécifique, vous pouvez remplacer l'astérisque (*) dans la requête par le nom de la balise.
  • Zend_Dom_Query est recommandé pour les exigences de sélection complexes.
  • Si vous utilisez Mechanize , il fournit des méthodes plus simples pour travailler avec les éléments DOM.

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