Introduction :
L'analyse HTML à l'aide de PHP DOM peut être un défi, en particulier lorsqu'il s'agit de besoins spécifiques. Cet article explore une solution pour extraire le texte d'éléments avec une classe désignée et l'organiser en tableaux structurés.
Scénario :
Considérez le contenu HTML suivant :
<p class="Heading1-P"> <span class="Heading1-H">Chapter 1</span> </p> <p class="Normal-P"> <span class="Normal-H">This is chapter 1</span> </p>
Le but est d'extraire le texte de les éléments avec la classe "Heading1-H" dans le tableau $heading et le texte de ceux avec la classe "Normal-H" dans le tableau $content, ce qui donne :
$heading = ['Chapter 1', 'Chapter 2', 'Chapter 3']; $content = ['This is chapter 1', 'This is chapter 2', 'This is chapter 3'];
Solution utilisant DOMDocument et DOMXPath :
Nous utilisons DOMDocument et DOMXPath pour résoudre ce problème tâche.
// Load HTML into DOMDocument $dom = new DOMDocument(); $dom->loadHTML($html); // Create DOMXPath object $xpath = new DOMXPath($dom); // Get elements with desired class using XPath $xpathQuery = "//*[@class='$class']"; $elements = $xpath->query($xpathQuery); // Extract text from elements and store in arrays $headings = []; $contents = []; foreach ($elements as $element) { $nodes = $element->childNodes; foreach ($nodes as $node) { $headings[] = $node->nodeValue; } } var_dump($headings);
Cette solution analyse efficacement le code HTML et renvoie les tableaux souhaités.
Remarque :
L'utilisation de jQuery pour cette tâche n'est pas recommandé, car PHP DOM fournit une approche plus structurée et programmatique de la manipulation HTML.
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!