Rechercher : dans
Par :

En Perl : Récuperer un texte entre 2 balises

Dernière réponse le 31 mar 2006 à 09:49:34 Tribute2U, le 28 mar 2006 à 22:49:18 
 Signaler ce message aux modérateurs

Bonsoir, je souhaiterai connaitre le code en Perl permettant de récupérer un texte contenu entre 2 balises (HTML, PHP, ...).
Merci d'avance

Meilleures réponses pour « En Perl : Récuperer un texte entre 2 balises » dans :
Comment récupérer le résultat d'une commande dans une variable VoirComment récupérer le résultat d'une commande dans une variable Préambule Syntaxe Exemples Préambule Il est bien souvent nécessaire de récupérer le résultat d'une commande (ou de son code retour) dans une variable afin de pouvoir...
[Logiciels] Extraire toutes les images d'un PDF VoirVoici comment extraire toutes les images d'un fichier PDF. Avantage de cette méthode sur http://www.commentcamarche.net/faq/sujet-1036-: Les images sont extraites tel quel, sans perte de qualité (Par exemple, les JPEG sont extraits tel quel du...
Extraire les images et sons d'un fichier PowerPoint (PPT/PPS) VoirLe logiciel PowerPoint permet "d'exporter" directement les fichiers images et sons, par le biais d'une manipulation très simple : Si le nom du fichier est au format *.pps, on fait clic droit/renommer et on change l'extension en *.ppt. Ouvrir...
Les balises de style VoirQu'est-ce qu'une balise de style? Les balises de style modifient la typographie du texte. Elles peuvent être imbriquées dans d'autres balises de style de la même façon qu'on le ferait avec un traitement de texte. Voici une liste de balises de...
Perl - Entrée et sortie standards VoirQu'appelle-t-on entrée standard et sortie standard ? Perl permet d'écrire sur la sortie standard, appelée STDOUT et de lire sur l'entrée standard (STDIN). Il s'agit de deux descripteurs fournis par le système d'exploitation et permettant...
Les variables avec Perl VoirConcept de variable avec Perl Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage Perl peuvent être de trois...

1

lami20j, le 28 mar 2006 à 23:17:09

Salut,

#! /usr/bin/perl

use warnings;
@ARGV = qw (/home/lamitest/affich-2168110-en-perl-recuperer-un-texte-en­tre-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 '>'.

Répondre à lami20j

2

Zep3k!GnO, le 29 mar 2006 à 09:34:44

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 Zep3k!GnO
On est des rangers mec, des rangers...

Répondre à Zep3k!GnO

3

lami20j, le 29 mar 2006 à 17:19:02

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

Répondre à lami20j

4

Zep3k!GnO, le 30 mar 2006 à 09:53:29

<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!GnO
On est des rangers mec, des rangers...

Répondre à Zep3k!GnO

5

lami20j, le 31 mar 2006 à 00:10:11

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

Répondre à lami20j

6

 Zep3k!GnO, le 31 mar 2006 à 09:49:34

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, @+ Zep3k!GnO

On est des rangers mec, des rangers...

Répondre à Zep3k!GnO
Collection CommentÇaMarche.net