En Perl : Récuperer un texte entre 2 balises

Tribute2U Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   -  
-
Bonsoir, je souhaiterai connaitre le code en Perl permettant de récupérer un texte contenu entre 2 balises (HTML, PHP, ...).
Merci d'avance
A voir également:

4 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,
#! /usr/bin/perl

use warnings;
@ARGV = qw (/home/lamitest/affich-2168110-en-perl-recuperer-un-texte-entre-2-balises.htm);

while (<>){
  /<([^>]*)>/;
print "$1\n";
}

____________________________________________________________
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
html
head
META NAME="ROBOTS" content="index,follow"
META NAME="subject" content="Comment ça marche? [L'informatique] - <? echo Forum programmation ?
................................
...........................
Cependant ce n'est pas complet. Entre 2 balises on peut avoir des chaînes de caracteres entre " " entre ' ', on peut avoir aussi '>'.
0

 
entre 2 balises...
Moi la je comprends plutot : <test>ce qu'on veut lire </test>
Si c'est ca, le /<([^>]*)>/; devient :
/<[^>]+>([^<]+)</;


En tous cas, a voir, je ne sais plus si il ne faut pas mettre des \ avant les > et < .. a test
;D
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

c'est pour ça que c'est complex.
Entre les balises et à l'intérieur des balises on peut avoir n'importe quoi ou presque.

Donc personnellement quand je travaille avec du texte brut je préfère regarder la structure de texte et de ne pas travailler à l'aveugle.

Pour les cas que tu as imagine ta regex doit fonctionner, en revanche elle ne va pas fonctionner dans les cas dont tu n'as pas penser.

Bonne soirée,

lami20j
0

 
en revanche elle ne va pas fonctionner dans les cas dont tu n'as pas penser.
normal :D je l'ai faite en speed, comme ça..(sans trop y réfléchir 3 piges.. j'avoue :P )
Aller, bonne journée, @+
0