De l'aide pour parser un textarea svp?
Posté : 09 mai 2012, 09:15
Bonjour à tous et à toutes,
J'espère avant tout que je suis dans le bon forum. Si non, veuillez m'en excuser
J'ai un projet de parsing en cours, j'essais d'apprendre les regex, le sscanf, mais je ne vois pas comment arriver à faire fonctionner tout ça avec les informations que j'ai à parser
Je vous explique, et j'espère que vous pourrez m'aiguiller
J'ai un niveau débutant-moyen en PHP/SQL, mais niveau parsing, zéro pointé snif, trop dur pour moi... malgré les tutos, etc... 1 mois que je galère là dessus.
C'est un jeu, ou il y a 3 planètes (dasihaul, aliare et jademe) et le but est que chaque planète vole 1 drapeau de la planète adverse. Ici, on voit les joueurs de Dasihaul qui volent les drapeaux de Aliare et Jademe.
Le but est de copier/coller dans un textarea, cette page (c'est un exemple) (screenshot) :
http://hpics.li/48158d5
Afin de récupérer ce que j'ai encadré en rouge sur la page, c'est à dire le nom des joueurs de la planète Dasihaul qui ont prit les drapeau de la planète "Aliare" (drapeau vert) ou de la planète "Jademe" (drapeau rouge), ainsi que les noms des joueurs à qui appartenaient ces drapeaux.
En gros, le copier/coller de ce que vous voyez sur ce screen donne ça :
186 08/05/N1012 09:32 MARCAURELL
puissance : 304 MO128, aliare TONTON, aliare
[minerai exotique]
273
voir
187 08/05/N1012 09:26 TOOXX
puissance : 208 BARNABUS, jademe FANCH, jademe
[minerai exotique]
1064
voir
188 08/05/N1012 09:21 BOBLEPONGE
puissance : 240 G4ONE, aliare GIMLI, aliare
[minerai exotique]
1356
[aliare]
1
voir
189 08/05/N1012 08:57 SYLLB
puissance : 240 YOOLISH, aliare TONTON, aliare
[minerai exotique]
1083
voir
190 08/05/N1012 08:43 BRUMAK
puissance : 96 NAGLAREPH, aliare KC666, aliare
[minerai exotique]
1119
voir
191 08/05/N1012 08:40 SYLLB
puissance : 240 GUISMO, aliare LODWIG, aliare
[minerai exotique]
720
voir
192 08/05/N1012 08:36 GUILE
puissance : 96 LONEWOOLF, aliare CHENY, aliare
[rien]
0
voir
193 08/05/N1012 08:36 ARCHONTES
puissance : 140 J05U3, aliare
[minerai exotique]
126.9
voir
194 08/05/N1012 08:36 BRUMAK
puissance : 240 J05U3, aliare
[minerai exotique]
141.3
[aliare]
1
voir
195 08/05/N1012 08:35 MARCAURELL
puissance : 304 J05U3, aliare
[minerai exotique]
174
voir
196 08/05/N1012 08:33 SYLLB
puissance : 240 LOLO61, aliare TRACKEMORT, aliare
[minerai exotique]
896
voir
197 08/05/N1012 08:21 IFLYNE
puissance : 8 MRFRIGO, aliare
[minerai exotique]
9
[aliare]
1
voir
198 08/05/N1012 08:19 PF1JEREM
puissance : 252 AROWEEN, jademe MANEX, jademe
[minerai exotique]
28
[jademe]
1
voir
199 08/05/N1012 08:15 ARCHONTES
puissance : 140 LONEWOLF, aliare CHENY, aliare
[minerai exotique]
9.9
voir
200 08/05/N1012 08:11 TAOSANGEL
puissance : 152 MISS36, jademe MANEX, jademe
[minerai exotique]
632
[jademe]
1
voir
J'ai colorié dans le code, ce que j'ai besoin de récupérer, pour chaque "drapeau" volé, c'est à dire :
BOBLEPONGE a volé le drapeau ALIARE à G4ONE
BRUMAK a volé le drapeau ALIARE à J05U3
IFLYNE a volé le drapeau ALIARE à MRFRIGO
PF1JEREM a volé le drapeau JADEME à AROWEEN
TAOSANGEL a volé le drapeau JADEME à MISS36
Comme vous pouvez le voir, chaque ligne n'est pas à récupérer, car beaucoup de lignes n'ont aucun drapeau volés, juste du minerai exotique, donc on s'en fiche. On veut juste savoir qui a volé quel drapeau lorsqu'il y a bien eu un vol de drapeau. On sait quand un drapeau a été volé lorsqu'il y a [aliare] ou [jademe] vers la fin de la ligne.
J'ai besoin que chacune de ces lignes puissent ensuite être récupérée en PHP pour être stockée dans des tables SQL qui listeront tout ça, du genre :
$joueur1 = BOBLEPONGE; $drapeau = Aliare; $joueur2 = G4ONE;
$joueur1 = BRUMAK; $drapeau = Aliare; $joueur2 = J05U3;
$joueur1 = IFLYNE; $drapeau = Aliare; $joueur2 = MRFRIGO;
$joueur1 = PF1JEREM; $drapeau = Jademe; $joueur2 = AROWEEN;
$joueur1 = TAOSANGEL; $drapeau = Jademe; $joueur2 = AROWEEN;
Comment faire ? Avez-vous une idée ? c'est pas gagné, hein... moi, ca fait 1 mois que je sèche
Je vous remercie par avance pour votre aide,
Bonne soirée
Brunaki
EDIT: au cas ou certains se poseraient la question, il y a souvent un 2eme nom de joueur à côté de la cible qui perd son drapeau, c'est le support (un autre joueur qui vient aider pour protéger le joueur), lui on s'en fiche... ^^
Et puis si vous n'avez pas tout compris, demandez, je répondrai à vos questions.
J'espère avant tout que je suis dans le bon forum. Si non, veuillez m'en excuser
J'ai un projet de parsing en cours, j'essais d'apprendre les regex, le sscanf, mais je ne vois pas comment arriver à faire fonctionner tout ça avec les informations que j'ai à parser
Je vous explique, et j'espère que vous pourrez m'aiguiller
J'ai un niveau débutant-moyen en PHP/SQL, mais niveau parsing, zéro pointé snif, trop dur pour moi... malgré les tutos, etc... 1 mois que je galère là dessus.
C'est un jeu, ou il y a 3 planètes (dasihaul, aliare et jademe) et le but est que chaque planète vole 1 drapeau de la planète adverse. Ici, on voit les joueurs de Dasihaul qui volent les drapeaux de Aliare et Jademe.
Le but est de copier/coller dans un textarea, cette page (c'est un exemple) (screenshot) :
http://hpics.li/48158d5
Afin de récupérer ce que j'ai encadré en rouge sur la page, c'est à dire le nom des joueurs de la planète Dasihaul qui ont prit les drapeau de la planète "Aliare" (drapeau vert) ou de la planète "Jademe" (drapeau rouge), ainsi que les noms des joueurs à qui appartenaient ces drapeaux.
En gros, le copier/coller de ce que vous voyez sur ce screen donne ça :
186 08/05/N1012 09:32 MARCAURELL
puissance : 304 MO128, aliare TONTON, aliare
[minerai exotique]
273
voir
187 08/05/N1012 09:26 TOOXX
puissance : 208 BARNABUS, jademe FANCH, jademe
[minerai exotique]
1064
voir
188 08/05/N1012 09:21 BOBLEPONGE
puissance : 240 G4ONE, aliare GIMLI, aliare
[minerai exotique]
1356
[aliare]
1
voir
189 08/05/N1012 08:57 SYLLB
puissance : 240 YOOLISH, aliare TONTON, aliare
[minerai exotique]
1083
voir
190 08/05/N1012 08:43 BRUMAK
puissance : 96 NAGLAREPH, aliare KC666, aliare
[minerai exotique]
1119
voir
191 08/05/N1012 08:40 SYLLB
puissance : 240 GUISMO, aliare LODWIG, aliare
[minerai exotique]
720
voir
192 08/05/N1012 08:36 GUILE
puissance : 96 LONEWOOLF, aliare CHENY, aliare
[rien]
0
voir
193 08/05/N1012 08:36 ARCHONTES
puissance : 140 J05U3, aliare
[minerai exotique]
126.9
voir
194 08/05/N1012 08:36 BRUMAK
puissance : 240 J05U3, aliare
[minerai exotique]
141.3
[aliare]
1
voir
195 08/05/N1012 08:35 MARCAURELL
puissance : 304 J05U3, aliare
[minerai exotique]
174
voir
196 08/05/N1012 08:33 SYLLB
puissance : 240 LOLO61, aliare TRACKEMORT, aliare
[minerai exotique]
896
voir
197 08/05/N1012 08:21 IFLYNE
puissance : 8 MRFRIGO, aliare
[minerai exotique]
9
[aliare]
1
voir
198 08/05/N1012 08:19 PF1JEREM
puissance : 252 AROWEEN, jademe MANEX, jademe
[minerai exotique]
28
[jademe]
1
voir
199 08/05/N1012 08:15 ARCHONTES
puissance : 140 LONEWOLF, aliare CHENY, aliare
[minerai exotique]
9.9
voir
200 08/05/N1012 08:11 TAOSANGEL
puissance : 152 MISS36, jademe MANEX, jademe
[minerai exotique]
632
[jademe]
1
voir
J'ai colorié dans le code, ce que j'ai besoin de récupérer, pour chaque "drapeau" volé, c'est à dire :
BOBLEPONGE a volé le drapeau ALIARE à G4ONE
BRUMAK a volé le drapeau ALIARE à J05U3
IFLYNE a volé le drapeau ALIARE à MRFRIGO
PF1JEREM a volé le drapeau JADEME à AROWEEN
TAOSANGEL a volé le drapeau JADEME à MISS36
Comme vous pouvez le voir, chaque ligne n'est pas à récupérer, car beaucoup de lignes n'ont aucun drapeau volés, juste du minerai exotique, donc on s'en fiche. On veut juste savoir qui a volé quel drapeau lorsqu'il y a bien eu un vol de drapeau. On sait quand un drapeau a été volé lorsqu'il y a [aliare] ou [jademe] vers la fin de la ligne.
J'ai besoin que chacune de ces lignes puissent ensuite être récupérée en PHP pour être stockée dans des tables SQL qui listeront tout ça, du genre :
$joueur1 = BOBLEPONGE; $drapeau = Aliare; $joueur2 = G4ONE;
$joueur1 = BRUMAK; $drapeau = Aliare; $joueur2 = J05U3;
$joueur1 = IFLYNE; $drapeau = Aliare; $joueur2 = MRFRIGO;
$joueur1 = PF1JEREM; $drapeau = Jademe; $joueur2 = AROWEEN;
$joueur1 = TAOSANGEL; $drapeau = Jademe; $joueur2 = AROWEEN;
Comment faire ? Avez-vous une idée ? c'est pas gagné, hein... moi, ca fait 1 mois que je sèche
Je vous remercie par avance pour votre aide,
Bonne soirée
Brunaki
EDIT: au cas ou certains se poseraient la question, il y a souvent un 2eme nom de joueur à côté de la cible qui perd son drapeau, c'est le support (un autre joueur qui vient aider pour protéger le joueur), lui on s'en fiche... ^^
Et puis si vous n'avez pas tout compris, demandez, je répondrai à vos questions.