Maison > développement back-end > tutoriel php > Comment récupérer efficacement les éléments DOM par nom de classe en PHP ?

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

DDD
Libérer: 2024-12-04 12:36:14
original
455 Les gens l'ont consulté

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

Récupération d'éléments DOM en fonction du nom de classe

Dans PHP DOM, l'extraction d'éléments avec des noms de classe spécifiques est essentielle. Cette question présente un défi auquel sont confrontés les développeurs : trouver la méthode optimale pour isoler de tels éléments au sein d'un nœud DOM.

Pour résoudre ce problème, plusieurs approches sont présentées :

  • Sélecteur XPath : Une solution concise consiste à utiliser la syntaxe XPath. Prenons l'exemple suivant :
$dom = new DomDocument();
$dom->load($filePath);
$finder = new DomXPath($dom);
$classname = "my-class";
$nodes = $finder->query("//*[contains(@class, '$classname')]");
Copier après la connexion
  • Sélecteur CSS avec Zend_Dom_Query : Pour des scénarios plus complexes, il est recommandé d'utiliser Zend_Dom_Query. Sa prise en charge des sélecteurs CSS permet une récupération pratique des éléments :
$finder = new Zend_Dom_Query($html);
$classname = 'my-class';
$nodes = $finder->query("*[class~=\"$classname\"]");
Copier après la connexion

De plus, pour les scénarios impliquant des sélecteurs XPath avec des critères de nom de classe, une version plus raffinée est disponible :

$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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal