Maison > développement back-end > tutoriel php > Comment DOMDocument et XPath peuvent-ils être utilisés pour cibler et extraire du contenu textuel spécifique à partir de HTML ?

Comment DOMDocument et XPath peuvent-ils être utilisés pour cibler et extraire du contenu textuel spécifique à partir de HTML ?

Mary-Kate Olsen
Libérer: 2024-10-30 09:51:27
original
980 Les gens l'ont consulté

How can DOMDocument and XPath be used to Target and Extract Specific Text Content from HTML?

Analyse DOMDocument pour cibler un contenu spécifique

L'utilisation de "DOMDocument", une puissante bibliothèque PHP, permet une analyse précise des documents HTML. Contrairement à "getElementsByTagName", qui récupère toutes les balises portant un nom spécifique, cette méthode utilise des requêtes XPath pour cibler efficacement les éléments souhaités.

Capturer des nœuds de texte dans des contextes spécifiques

Pour extraire un contenu textuel spécifique, le processus implique :

  • Charger la chaîne HTML dans un objet DOM à l'aide de "DOMDocument::loadHTML".
  • Initier un objet "XPath" à l'aide de "new DOMXPath ($dom)".
  • Utilisation d'une requête XPath qui spécifie les nœuds cibles. Par exemple :
$tags = $xpath->query('//div[@class="main"]/div[@class="text"]');
Copier après la connexion

Cette requête récupère tous les

balises avec la classe "text" imbriquées dans
balises avec la classe "main".

Itérer dans la liste d'éléments résultante à l'aide d'une boucle "foreach" permet d'extraire "nodeValue", qui contient le texte réel :

foreach ($tags as $tag) {
    var_dump(trim($tag->nodeValue));
}
Copier après la connexion

Exemple de mise en œuvre

Considérez l'extrait HTML suivant :

<code class="html"><div class="main">
    <div class="text">
    Capture this text 1
    </div>
</div>

<div class="main">
    <div class="text">
    Capture this text 2
    </div>
</div></code>
Copier après la connexion

En utilisant la requête fournie, le résultat serait :

string 'Capture this text 1' (length=19)
string 'Capture this text 2' (length=19)
Copier après la connexion

Ceci démontre la capacité d'extraire avec précision du contenu textuel spécifique au sein d'une structure HTML hiérarchique à l'aide de "DOMDocument" et XPath.

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