En Perl : Récuperer un texte entre 2 balises
Tribute2U
Messages postés
52
Statut
Membre
-
Zep3k!GnO Messages postés 2049 Statut Membre -
Zep3k!GnO Messages postés 2049 Statut Membre -
Bonsoir, je souhaiterai connaitre le code en Perl permettant de récupérer un texte contenu entre 2 balises (HTML, PHP, ...).
Merci d'avance
Merci d'avance
4 réponses
-
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 '>'. -
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-
Salut,
tu as raison. J'ai mal interpreté.
De toute façon c'est assez complexe.
Par exemple
<balise>a recuperer</balise><balise1>encore
à recuperer</bailse2><balise3>on a x < y à recuperer</balise3>
lami20j- <balise3>on a x < y à recuperer</balise3>
j'avoue ce cas la est bien relou..
Mais je pense qu'il y a p'tet moyen en mettant un/\<[^\>]+\>([^{\<\/}]+)\<\//;
je ne suis plus bien sur des {} poir définir un ensemble de caractères...
et j'ai remis les \ devant les < et > car il les faut...
mais c'est a voir
-
Zep3k!GnOOn est des rangers mec, des rangers...
-
-
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 -
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, @+