France Hardware : Forums de discussion
Retrouvez les prix près de chez vous :  
Index du forum | Liste des membres | Liste des groupes | Inscription | F-A-Q | Recherche
Pseudo :    Password :     
22 749 membres enregistrés - 1 888 028 posts - 96 578 topics
Index des forums FH  | Index des forums DegroupNews
      Programmation
           Regex : besoin d'un coup de main !
16 connectés(record : 207 le 05 juin 2007 - 05 h 23)

Vous devez vous connecter pour répondre au topic.
Precedent | 1,2
Regex : besoin d'un coup de main !

iraysyvalo
-

Messages : 9 647
Inscrit le 19/11/02
Ville : Lyon
Non connecté
  Posté le 13 septembre 2005 - 08 h 56 m 34 s
Reprise du message précédent :


Dans tes regexp, $ pour fin de chaine devrait suffire .. comme ca, tu fais abstraction des fins de ligne .. enfin, essaies ;)




Pour un ban rapide et garanti sur ce forum, argumentez vos posts, dites simplement la verite, parlez de la realite et les leche-culs d'un cote et les maniaques du ban de l'autre se feront un plaisir de vous envoyer au purgatoire aussi sec.


Woofy
Pour les bons tuyaux me demander

Messages : 26 215
Inscrit le 11/01/02
Ville : Paris / Grenoble
Non connecté
  Posté le 13 septembre 2005 - 12 h 17 m 33 s
Bah justement, les fins de lignes je ne sais pas ou elles sont et elles m'emmerdent plus qu'autre chose.
Pour ca que je les vire.



:smileymouth: Totalement inutile, donc completement indispensable :smileymouth:

:sms:


tempo
Zen

Messages : 2 177
Inscrit le 14/09/02
Ville : Grenoble (SMH)
Non connecté
  Posté le 13 septembre 2005 - 13 h 50 m 08 s
Hello Woof,

j'avais fait un truc comme ca quand je bidouillais sur les rapports d'espionnage Ogame.
(depuis un copier/coller du rapport d'espionnage).
=> le traitement est fait ligne par ligne, avec detection champ par champ...
par contre vu le niveau Ogame de l'epoque il devait manquer de nombreux champs par rapport a ce qu'il peut y avoir sur vos rapports d'espionnage actuels...

si ca peux t'aider:
(remplacer par antislash... :nrv: balises)

    Code php    
 1. 
 2.         $lines=explode("n",$report);
 3.         
 4.         
 5.         $mois="";
 6.         $jour="";
 7.         $heure="";
 8.         $min="";
 9.         $sec="";
10.         $planetname="";
11.         $galax="";
12.         $solar="";
13.         $posit="";
14.         $metal="";
15.         $cristal="";
16.         
17.         foreach($lines as $line){
18.                 $pattern='/^([0-9]+)-([0-9]+)s+([0-9]+):([0-9]+):([0-9]+)s+Commandement de flots+Rapport de espionnages+(.+)s+[([0-9]+):([0-9]+):([0-9]+)]/';
19.                 if(preg_match($pattern,$line,$fields)){
20.                         $mois=$fields[1];
21.                         $jour=$fields[2];
22.                         $heure=$fields[3];
23.                         $min=$fields[4];
24.                         $sec=$fields[5];
25.                         $planetname=$fields[6];
26.                         $galax=$fields[7];
27.                         $solar=$fields[8];
28.                         $posit=$fields[9];
29. 
30.                         continue;                       
31.                 }
32.                 $pattern="/Métal:s+([0-9.]+)/";
33.                 if(preg_match($pattern,$line,$fields)){
34.                         $stockMetal=$fields[1];
35.                 }
36.                 $pattern="/Cristal:s+([0-9.]+)/";
37.                 if(preg_match($pattern,$line,$fields)){
38.                         $stockCristal=$fields[1];
39.                 }
40.                 $pattern="/Deutérium:s+([0-9.]+)/";
41.                 if(preg_match($pattern,$line,$fields)){
42.                         $stockDeuterium=$fields[1];
43.                 }
44.                 $pattern="/nergie:s+([0-9.]+)/";
45.                 if(preg_match($pattern,$line,$fields)){
46.                         $prodEnergie=$fields[1];
47.                 }
48.                 $pattern="/Chasseur légers+([0-9.]+)/";
49.                 if(preg_match($pattern,$line,$fields)){
50.                         $flotLightFight=$fields[1];
51.                 }
52.                 $pattern="/Chasseur lourds+([0-9.]+)/";
53.                 if(preg_match($pattern,$line,$fields)){
54.                         $flotHeavyFight=$fields[1];
55.                 }
56.                 $pattern="/Satellite solaires+([0-9.]+)/";
57.                 if(preg_match($pattern,$line,$fields)){
58.                         $flotSolarSat=$fields[1];
59.                 }
60.                 $pattern="/Lanceur de missiless+([0-9.]+)/";
61.                 if(preg_match($pattern,$line,$fields)){
62.                         $defMissiles=$fields[1];
63.                 }
64.                 $pattern="/Artillerie légère au lasers+([0-9.]+)/";
65.                 if(preg_match($pattern,$line,$fields)){
66.                         $defLightLaser=$fields[1];
67.                 }
68.                 $pattern="/Artillerie lourde au lasers+([0-9.]+)/";
69.                 if(preg_match($pattern,$line,$fields)){
70.                         $defHeavyLaser=$fields[1];
71.                 }
72.                 
73.                 
74.         }
75. 
76.         $report_date=mktime($heure,$min,$sec,$mois,$jour);
77.         $process_date=mktime();





Woofy
Pour les bons tuyaux me demander

Messages : 26 215
Inscrit le 11/01/02
Ville : Paris / Grenoble
Non connecté
  Posté le 13 septembre 2005 - 13 h 53 m 47 s
Oui j'ai fait comme ca, ou a peu près en fait. C'est juste qu'au lieu de découper ligne par ligne, je découpe section par section (entête, ressources, flottes, defenses, buildings, technos).
Ca marche bien, on peut rajouter des trucs facilement (heureusement, ils ont rajouté une nouvelle techno et un nouveau building avec la nouvelle version), mais bon je trouve ca lourd (plus d'une 50aine d'ereg !). Mais merci du coup de main... si tu a d'autres trucs sur ogame a me filer, n'hésite pas :D



:smileymouth: Totalement inutile, donc completement indispensable :smileymouth:

:sms:


tempo
Zen

Messages : 2 177
Inscrit le 14/09/02
Ville : Grenoble (SMH)
Non connecté
  Posté le 13 septembre 2005 - 13 h 56 m 24 s


Le 13 septembre 2005 - 13 h 50, tempo a écrit :
Hello Woof,

j'avais fait un truc comme ca quand je bidouillais sur les rapports d'espionnage Ogame.
(depuis un copier/coller du rapport d'espionnage).
=> le traitement est fait ligne par ligne, avec detection champ par champ...
par contre vu le niveau Ogame de l'epoque il devait manquer de nombreux champs par rapport a ce qu'il peut y avoir sur vos rapports d'espionnage actuels...

si ca peux t'aider:
(EDIT remplacer par antislash... et ajouter un antislash devant 's+' dans les patterns... et les indent a revoir... :nrv: balises)

    Code php    
 1. 
 2. $lines=explode("n",$report);
 3.         
 4.         
 5. $mois="";
 6. $jour="";
 7. $heure="";
 8. $min="";
 9. $sec="";
10. $planetname="";
11. $galax="";
12. $solar="";
13. $posit="";
14. $metal="";
15. $cristal="";
16.       
17. foreach($lines as $line){
18.   $pattern='/^([0-9]+)-([0-9]+)s+([0-9]+):([0-9]+):([0-9]+)s+Commandement de flots+Rapport de espionnages+(.+)s+[([0-9]+):([0-9]+):([0-9]+)]/';
19.   if(preg_match($pattern,$line,$fields)){
20.     $mois=$fields[1];
21.     $jour=$fields[2];
22.     $heure=$fields[3];
23.     $min=$fields[4];
24.     $sec=$fields[5];
25.     $planetname=$fields[6];
26.     $galax=$fields[7];
27.     $solar=$fields[8];
28.     $posit=$fields[9];
29.     continue;                       
30.   }
31.   $pattern="/Métal:s+([0-9.]+)/";
32.   if(preg_match($pattern,$line,$fields)){
33.     $stockMetal=$fields[1];
34.   }
35.   $pattern="/Cristal:s+([0-9.]+)/";
36.   if(preg_match($pattern,$line,$fields)){
37.     $stockCristal=$fields[1];
38.   }
39.                 $pattern="/Deutérium:s+([0-9.]+)/";
40.                 if(preg_match($pattern,$line,$fields)){
41.                         $stockDeuterium=$fields[1];
42.                 }
43.                 $pattern="/nergie:s+([0-9.]+)/";
44.                 if(preg_match($pattern,$line,$fields)){
45.                         $prodEnergie=$fields[1];
46.                 }
47.                 $pattern="/Chasseur légers+([0-9.]+)/";
48.                 if(preg_match($pattern,$line,$fields)){
49.                         $flotLightFight=$fields[1];
50.                 }
51.                 $pattern="/Chasseur lourds+([0-9.]+)/";
52.                 if(preg_match($pattern,$line,$fields)){
53.                         $flotHeavyFight=$fields[1];
54.                 }
55.                 $pattern="/Satellite solaires+([0-9.]+)/";
56.                 if(preg_match($pattern,$line,$fields)){
57.                         $flotSolarSat=$fields[1];
58.                 }
59.                 $pattern="/Lanceur de missiless+([0-9.]+)/";
60.                 if(preg_match($pattern,$line,$fields)){
61.                         $defMissiles=$fields[1];
62.                 }
63.                 $pattern="/Artillerie légère au lasers+([0-9.]+)/";
64.                 if(preg_match($pattern,$line,$fields)){
65.                         $defLightLaser=$fields[1];
66.                 }
67.                 $pattern="/Artillerie lourde au lasers+([0-9.]+)/";
68.                 if(preg_match($pattern,$line,$fields)){
69.                         $defHeavyLaser=$fields[1];
70.                 }
71.                 
72.                 
73.         }
74. 
75.         $report_date=mktime($heure,$min,$sec,$mois,$jour);
76.         $process_date=mktime();






Precedent | 1,2
Page genérée en 1.3324 secondes par RahForum 2.0 | Gzip off |  Stats |  Metaforums |  RSS
© 2004 Cerbere Systems.
Prix Matériel Informatique | Informatique Lyon | Informatique Grenoble | Informatique Annecy | Informatique Marseille | Informatique Bordeaux | Forum Informatique
ADSL |Actualité ADSL | e-commerce | Commande Au Volant
Creative Commons
Message Boards and Forums Directory