#1 2009-07-19 19:23:11

Tef
Member
Registered: 2009-07-14
Posts: 16

Récupérer une valeur entre une balise Font

Salut à tous.

Je suis entrain d'étudier un peu GCstar qui est super bien foutu. Par contre je suis novice et le lien http://wiki.gcstar.org/fr/websites_plugins ne réponds pas à toutes mes questions.

J'ai le code suivant :

Code:

<font color="#999999"> | Ludo-éducatif | Disponible | <a title="Voir l'éditeur" class="editeur" href="/finances/contacts/C000000577/">Nintendo</a> | 2007</font>

Dans mon plugin je voudrais récupérer le 2007 qui sera intégré dans la colonne Date de sortie lors du clique Télécharger. Alors j'ai fais ceci dans le sub start :

Code:

...
elsif ($tagname eq 'font') {
    $self->{isDate}= 1;
}

Mais bizarrement il me récupère que | Ludo-éducatif | Disponible |

Où est mon erreur ? Le plus dur est que je n'ai aucun id ou class pour m'appuyer pour récupérer le résultat...

Je précise je suis un total novice en Perl. Je ne connais pas du tout le langage mais j'ai tout de même quelques notions en développement PHP smile
Dernière précision, j'apprends en me faisant un plugin pour GameKult et la page de résultat est celle-là :
http://www.gamekult.com/tout/jeuxvideo/ … +academie/

Merci par avance.

Tef

Last edited by Tef (2009-07-20 10:39:09)

Offline

 

#2 2009-07-24 18:39:12

Tef
Member
Registered: 2009-07-14
Posts: 16

Re: Récupérer une valeur entre une balise Font

Hello,
je me permet de relancer svp pour ma demande d'aide smile

Merci par avance wink

Offline

 

#3 2009-07-27 12:26:28

DomiX
Member
Registered: 2008-02-16
Posts: 66

Re: Récupérer une valeur entre une balise Font

Bonjour,

Pour récupérer un élément en particulier sur une chaîne, il faut utiliser des expressions régulières. J'utiliserais la fonction split.
J'ai fait un exemple très basique qui  est capable de mettre dans un tableau chaque élément séparé par un '|'
C'est une méthode pas la solution comme toujours, ça peut te donner une piste au moins.
Je te conseille de regarder du côté de perlretut et split voire google :-)

Code:

#!/usr/bin/perl -w

use strict;

my $ligne = '<font color="#999999"> | Ludo-educatif | Disponible | <a title="Voir l\'editeur" class="editeur" href="/finances/contacts/C000000577/">Nintendo</a> | 2007</font>' ;

# j'enlève </font>
$ligne =~ s/<\/font>//;

# on sépare $ligne à partir du caractère '|'
my @tab = split(/\|/,$ligne);

foreach my $info (@tab)
{
        print "$info\n";
}

Code:

> perl test.pl
<font color="#999999">
 Ludo-educatif
 Disponible
 <a title="Voir l'editeur" class="editeur" href="/finances/contacts/C000000577/">Nintendo</a>
 2007

Offline

 



Should you have a problem using GCstar, you can open a bug report or request some support on GCstar forums.