Extraction du texte plat à partir d'éléments avec une classe désignée utilisant php dom
Extraction du texte à partir d'éléments HTML spécifiques est une tâche commune dans le développement Web. PHP Dom fournit des outils robustes pour analyser le HTML et accéder à son contenu. Cet article répond à une exigence spécifique pour extraire le texte des éléments avec une classe désignée en deux tableaux plats.
problème
Contenu HTML contenant du texte distribué entre plusieurs éléments p avec Les noms de classe en alternance, la tâche consiste à enregistrer le texte en deux tableaux: un pour les titres et un pour le contenu. Par exemple, étant donné le html suivant:
Chapter 1
This is chapter 1
Nous devons obtenir la sortie suivante:
$heading = ['Chapter 1', 'Chapter 2', 'Chapter 3']; $content = ['This is chapter 1', 'This is chapter 2', 'This is chapter 3'];
Solution
pour accomplir cette extraction en utilisant PHP DOM, nous utilisons DomDocument et Domxpath. La solution implique les étapes suivantes:
$dom = new DOMDocument(); $dom->loadHTML($test);
$xpath = new DOMXPath($dom);
$heading = parseToArray($xpath, 'Heading1-H'); $content = parseToArray($xpath, 'Normal-H');
dans la fonction ParTetoArray ():
Voici le code php complet:
query($xpathquery); $resultarray = []; foreach ($elements as $element) { $nodes = $element->childNodes; foreach ($nodes as $node) { $resultarray[] = $node->nodeValue; } } return $resultarray; } $test = Chapter 1This is chapter 1
Chapter 2
This is chapter 2
Chapter 3
This is chapter 3
HTML; $dom = new DOMDocument(); $dom->loadHTML($test); $xpath = new DOMXPath($dom); $heading = parseToArray($xpath, 'Heading1-H'); $content = parseToArray($xpath, 'Normal-H'); var_dump($heading); echo "
"; var_dump($content); echo "
";
Cette approche utilise la puissance de PHP DOM et XPATH pour extraire efficacement le texte des documents HTML, permettant une manipulation de contenu plus complexe et ciblée.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3