#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
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
Merci par avance
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.