Maison >développement back-end >tutoriel php >Comment analyser du HTML en PHP sans expressions régulières ?

Comment analyser du HTML en PHP sans expressions régulières ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-06 11:31:111002parcourir

How to Parse HTML in PHP without Regular Expressions?

PHP analyser le code HTML (sans expressions régulières)

Vous disposez d'une variable PHP contenant du code HTML et vous devez extraire le texte entre le titres sans utiliser d'expressions régulières.

Solution 1 : Modèle objet de document PHP (DOM)

Cette approche implique d'utiliser le modèle objet de document PHP (DOM) pour analyser le HTML :

<?php
$str = '<h1T1</h1>Lorem ipsum.<h1T2</h1>The quick red fox...<h1T3</h1>... jumps over the lazy brown FROG';
$DOM = new DOMDocument;
$DOM->loadHTML($str);

// Get all H1 elements
$items = $DOM->getElementsByTagName('h1');

// Display the text of each H1 element
for ($i = 0; $i < $items->length; $i++) {
    echo $items->item($i)->nodeValue . "<br/>";
}
?>

Cela affichera le texte dans les titres :

T1
T2
T3

Solution 2 : Remplacement de Regex (pour le contenu entre Titres)

Si l'objectif est d'extraire le contenu entre les titres, vous pouvez utiliser des expressions régulières comme suit :

<?php
$str = '<h1T1</h1>Lorem ipsum.<h1T2</h1>The quick red fox...<h1T3</h1>... jumps over the lazy brown FROG';
$result = preg_replace("#<h1>.*?</h1>.*?</h1>#", "", $str);

echo $result;
?>

Cela affichera le contenu entre les titres :

Lorem ipsum.The quick red fox...... jumps over the lazy brown FROG

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