Maison  >  Article  >  développement back-end  >  Comment extraire un texte spécifique du HTML à l'aide de DOMDocument et XPath de PHP ?

Comment extraire un texte spécifique du HTML à l'aide de DOMDocument et XPath de PHP ?

DDD
DDDoriginal
2024-11-01 13:00:03376parcourir

How do I extract specific text from HTML using PHP's DOMDocument and XPath?

Analyser le HTML avec le DOMDocument de PHP

Pour extraire des éléments de texte spécifiques du HTML à l'aide du DOMDocument de PHP, exploiter les requêtes XPath peut être plus efficace que de s'appuyer uniquement sur sur DOMDocument :: getElementsByTagName. Les requêtes XPath permettent une sélection précise basée sur des critères spécifiques au sein de la structure du document.

Capturer du texte à partir de DIV imbriqués

L'exemple HTML fourni contient des fichiers

balises, où le texte cible se trouve dans
éléments de classe "text", qui sont à leur tour imbriqués dans
éléments avec la classe "main".

Pour capturer le texte cible, une requête XPath peut être utilisée :

<code class="php">$xpath->query('//div[@class="main"]/div[@class="text"]');</code>

Cette requête sélectionne tous les éléments

les éléments dont l'attribut de classe est défini sur "text" et qui sont des descendants de
éléments avec un attribut de classe défini sur "main". Le résultat est une liste des éléments correspondants.

Itération et extraction des valeurs de nœud

Pour accéder au contenu textuel réel, chaque élément correspondant peut être itéré et sa valeur de nœud propriété accessible :

<code class="php">foreach ($tags as $tag) {
    var_dump(trim($tag->nodeValue));
}</code>

La fonction trim() est utilisée pour supprimer tout espace de début ou de fin du texte extrait.

Sortie d'exécution

L'exécution du code affichera ce qui suit :

string 'Capture this text 1' (length=19)
string 'Capture this text 2' (length=19)

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!

Déclaration:
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