Bonjour à Jedai et aux utilisateurs du forum,

Aujourd'hui, j'aimerai apprendre l'utilisation du module HTML:: Parser pour récupérer les informations "data" dans le code ci dessous:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
...
<tr>
<td class="titre" align="center"><b>categorie</b><br></td>
 
<td class="texte" align="center"><span class="textegras">data1</span></td>
<td class="texte" align="center"><span class="textegras">data2</span></td>
<td class="texte" align="center"><span class="textegras">data3</span></td>
</tr>
...
Sauf erreur de ma part, HTML:: Parser génère des évènements quand il analyse le code. d'après la documentation du module / cpan

donc on pourrait avoir ce début de code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
    use HTML::Parser;
 
    my $page = ( "détient le contenu html a parser" );
 
    # création de mon parser
    my $parser = HTML::Parser->new();
 
    # définition des mes evenements
    $parser->handler( text  => \&text,  "text" );
    $parser->handler( start => \&start, "tagname,attr" );
    $parser->handler( end   => \&end,   "tagname" );
l'évènement "text" est déclenché quand un morceau de texte est détecté.
l'évènement "start" correspond à l'ouverture d'une balise.
l'évènement "end" correspond à la fermeture d'une balise.

Donc ma solution serait d'indiquer en la balise <span> ... </span> mais je bloque à ce niveau. Merci pour vos conseils.

Altecad