Maison >développement back-end >tutoriel php >Comment extraire du texte entre les balises en PHP sans utiliser d'expressions régulières ?

Comment extraire du texte entre les balises en PHP sans utiliser d'expressions régulières ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-18 13:05:25874parcourir

How to Extract Text Between  Tags in PHP Without Using Regular Expressions?

Comment analyser le code HTML en PHP

Problème :
Extraire le texte entre les balises de titre (< ;h1>) à partir du code HTML stocké dans un PHP variable.

Exigences :
Évitez d'utiliser des expressions régulières.

Solution :

Il existe plusieurs techniques pour analyser Code HTML en PHP. La méthode recommandée pour les expressions non régulières consiste à utiliser le modèle objet de document PHP (DOM).

<?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);

// Retrieve all heading elements
$items = $DOM->getElementsByTagName('h1');

// Extract and display the text content
for ($i = 0; $i < $items->length; $i++) {
    echo $items->item($i)->nodeValue . "<br\>";
}
?>

Ce code génère :

T1
T2
T3

Solution étendue :
Si vous devez récupérer le contenu entre les balises de titre, utilisez l'expression régulière suivante :

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

Ce code sorties :

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