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.
|
|
| |
Totalement inutile, donc completement indispensable 
|
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...  balises)
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
|
|
| |
Totalement inutile, donc completement indispensable 
|
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... balises)
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();
|
|
|
| |
|
|