RideKick, j'ai une question : que signifie undefined offset ? car je rencontre le même soucis dans mon code et je ne sais pas le situer ..
RideKick, j'ai une question : que signifie undefined offset ? car je rencontre le même soucis dans mon code et je ne sais pas le situer ..
undefined offset est une erreur qui s'affiche quand on essaie d'acceder a un index de tableau qui n'existe pas.
Exemple :
$Tableau à 4 index de 0 à 3, si j'essaie d'acceder a $Tableau[5] qui n'existe pas j'aurais cette erreur.
une petite question, les partie tu les partage au hasard ?
si je rajoute quelques choses, je met quoi quelle partie
(
)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 echo nl2br($results[0][0]); //Partie 1 echo nl2br($results[0][1]); //Partie 2 echo nl2br($results[0][2]); //Partie 2 echo nl2br($results[0][3]); //Partie 2
Les parties je ne les ai pas faite au hasard, je t'ai dis au tout début que je les avais découpées grâce au ________________________
Bonjour,
alors la je n'y arrive plus
en plus wamp ne m'affiche pas tout bien comme il faut, il me met toujours des erreurs comme dit avant.
Et encore de plus, ils ont fait une nouvelle version et donc le rapport n'est plus pareil
Fait voir ton script et le nouveau rapport
Salut, merci beaucoup de me suivre (et de me supporter )
Donc le nouveau rapport ressemble a ceci :
Sachant, qu'il peut y avoir autre options, qui ne sont pas noté, j'ai demander alors a quelques membres du jeu de m'envoyer leur rapport de combat afin que je puisse voir les differents "bonus" etc ... qu'il peut y a voir de marquer dans le rapport.23/10 - Expéditeur: Etat Major Supprimer
COMPTE RENDU DU COMBAT CONTRE M[o]nSteR
Vous remportez le combat en gagnant sur 1 front(s) contre 0 pour l'attaque
Vous volez 11541 de fuel, 3809 de kevlar, et 0 de nucléaire.
Prime finale de: 2320 Or.
________________________________
attaque front defense
5001 Terrestre 2918
effectif
-5/100 La tactique de l'ennemi lui confère un gain de force.
prime: 2320
0 Blindé 14812
prime: 0
0 Naval 1800
prime: 0
0 air 0
prime: 0
L'attaquant obtiens un gain de force de 5% (furtivité supérieur a la défense)
________________________________
Sont inclus dans les forces
Bonus sur les terrestre : Furtivite(gymnase) +25/100 et Force(stand de tir) +25/100
50 médecins: -7% de pertes sur les troupes
________________________________
quand au codes, bah je préfère remettre celui on on en était car la ou j'en suis j'ai tout ait plantée (attention, c'est donc le traitement de l'ancien rapport de combat).
donc nous en somme là :
PS: quand les claques se perdent n'hésite pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123 <?php $pattern1 = "#[a-z0-9 \s:é.,/\[\]\(\)'%+-]*[_\s ]*#i"; $results=array(); preg_match_all($pattern1,$_POST['rapportcoller'],$results); $pattern="#COMBAT CONTRE ([a-z0-9_]*)#i"; preg_match($pattern,$results[0][0],$joueur); $results[0][0] = str_replace($joueur[1], "<b>$joueur[1]</b>",$results[0][0]); $pattern="#sur le front ([a-z0-9_]*)#i"; preg_match($pattern,$results[0][0],$vainqueur); $results[0][0] = str_replace($vainqueur[1], "<b>$vainqueur[1]</b>",$results[0][0]); $pattern="#Vous remportez([a-z0-9_]*)#i"; preg_match($pattern,$results[0][0],$resultats); $results[0][0] = str_replace($resultats[1], "<b>$resultats[1]</b>",$results[0][0]); $pattern="#en gagnant sur([a-z0-9_]*)#i"; preg_match($pattern,$results[0][0],$preumsfront); $results[0][0] = str_replace($preumsfront[1], "<b>$preumsfront[1]</b>",$results[0][0]); $pattern="#contre([a-z0-9_]*)#i"; preg_match($pattern,$results[0][0],$secfront); $results[0][0] = str_replace($secfront[1], "<b>$secfront[1]</b>",$results[0][0]); $pattern="#Vous volez ([a-z0-9_]*)#i"; preg_match($pattern,$results[0][0],$fuel); $results[0][0] = str_replace($fuel[1], "<b>$fuel[1]</b>",$results[0][0]); $pattern="#de fuel, ([a-z0-9_]*)#i"; preg_match($pattern,$results[0][0],$kevlar); $results[0][0] = str_replace($kevlar[1], "<b>$kevlar[1]</b>",$results[0][0]); $pattern="#de kevlar, et ([a-z0-9_]*)#i"; preg_match($pattern,$results[0][0],$nucleaire); $results[0][0] = str_replace($nucleaire[0], "<b>$nucleaire[1]</b>",$results[0][0]); $pattern="#Front terrestre: ([a-z0-9_]*)#i"; preg_match($pattern,$results[0][1],$terrestre); $results[0][1] = str_replace($terrestre[1], "<b>$terrestre[1]</b>",$results[0][1]); $pattern="#Front blindé: ([a-z0-9_]*)#i"; preg_match($pattern,$results[0][1],$blinde); $results[0][1] = str_replace($blinde[1], "<b>$blinde[1]</b>",$results[0][1]); $pattern="#Front naval: ([a-z0-9_]*)#i"; preg_match($pattern,$results[0][1],$naval); $results[0][1] = str_replace($naval[1], "<b>$naval[1]</b>",$results[0][1]); $pattern="#Front aérien: ([a-z0-9_]*)#i"; preg_match($pattern,$results[0][1],$aerien); $results[0][1] = str_replace($aerien[1], "<b>$aerien[1]</b>",$results[0][1]); $frontPattern = "#- Terrestre [a-zé\t -]*#i"; preg_match($frontPattern,$results[0][2],$front); $listefront = explode(" ", $front[0]); $forcePattern = "#Force [0-9 -]*#i"; preg_match($forcePattern,$results[0][2],$force); $listeforce = explode (" ", $force[0]); $furtivitePattern = "#Furtivité [0-9 -]*#i"; preg_match($furtivitePattern,$results[0][2],$furtivite); $listefurtivite = explode (" ", $furtivite[0]); $couleurs=array("blue","red","yellow","#FFFFFF","green","pink"); //tout ce qui entre dans un code BB for($i=1;$i<count($listefront);$i++){ $listefront[$i]= "[color=".$couleurs[$i]."]".$listefront[$i]."[/color]"; $listeforce[$i]= "[color=".$couleurs[$i]."]".$listeforce[$i]."[/color]"; $listefurtivite[$i]= "[color=".$couleurs[$i]."]".$listefurtivite[$i]."[/color]"; } $strFront = implode(" ",$listefront); $strForce = implode(" ",$listeforce ); $strFurtivite = implode(" ",$listefurtivite ); $results[0][2] = str_replace($front[0], $strFront,$results[0][2]); $results[0][2] = str_replace($force[0], $strForce,$results[0][2]); $results[0][2] = str_replace($furtivite[0], $strFurtivite,$results[0][2]); $pattern="#Bonus sur les terrestre([a-z0-9_ ]*):#i"; preg_match($pattern,$results[0][2],$bonusattaqueter); $results[0][2] = str_replace($bonusattaqueter[1], "<b>$bonusattaqueter[1]</b>",$results[0][2]); //$pattern="#Furtivite\(gymnase\) ([0-9_+/]*)#i"; //preg_match($pattern,$results[0][2],$gymnaseattaque); //$results[0][2] = str_replace($gymnaseattaque[1], "<b>$gymnaseattaque[1]</b>",$results[0][2]); //$pattern="#Force\(stand de tir\) ([0-9_+/]*)#i"; //preg_match($pattern,$results[0][2],$standtirattaque); //$results[0][2] = str_replace($standtirattaque[1], "<b>$standtirattaque[1]</b>",$results[0][2]); $pattern="#médecins([a-z0-9_ ]*:)#i"; preg_match($pattern,$results[0][2],$medecinattaque); $results[0][2] = str_replace($medecinattaque[1], "<b>$medecinattaque[1]</b>",$results[0][2]); $pattern="#Bonus sur les blindés([a-z0-9_ ]*):#i"; preg_match($pattern,$results[0][2],$bonusdefblind); $results[0][2] = str_replace($bonusdefblind[1], "<b>$bonusdefblind[1]</b>",$results[0][2]); //$pattern="#Force\(avant-poste\) ([0-9_+/]*)#i"; //preg_match($pattern,$results[0][2],$forceavant); //$results[0][2] = str_replace($forceavant[1], "<b>$forceavant[1]</b>",$results[0][2]); //$pattern="#L'attaquant obtiens un gain de force de 5% ([a-z0-9_]*)#i"; //preg_match($pattern,$results[0][2],$gainforce); //$results[0][2] = str_replace($gainforce[1], "<b>$gainforce[1]</b>",$results[0][2]); echo nl2br($results[0][0]); //Partie 1 echo nl2br($results[0][1]); //Partie 2 echo nl2br($results[0][2]); //Partie 2 echo nl2br($results[0][3]); //Partie 2 ?>
ah oué ça n'a plus rien a voir
Version spéciale fainéant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?php $result = $_POST['rapportcoller']; $pattern="#COMBAT CONTRE ([a-z0-9_\[\]]*)#i"; preg_match($pattern,$result,$joueur); $result = str_replace($joueur[1], "<b>$joueur[1]</b>",$result); $result = preg_replace("#([0-9]{1,5})#i","<b>$1</b>",$result); echo nl2br($result); ?>
Salut, ouais, sa me met quelques truck en gras, je vais essayer de continuer.
Merci
la on as un tableau :
attaque front defense
6284 Terrestre 3022
que je vais essayer de faire a peu près comme ceci :
attaque front defense
6284 Terrestre 3022
Bon bah j'ai essayer sa, en reprennant ce que tu avais fait avant :
sa marche pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 <?php $result = $_POST['rapportcoller']; $pattern="#COMBAT CONTRE ([a-z0-9_\[\]]*)#i"; preg_match($pattern,$result,$joueur); $result = str_replace($joueur[1], "<b>$joueur[1]</b>",$result); // le pseudo du joueur attaqué est marqué en gras. $result = preg_replace("#([0-9]{1,5})#i","<b>$1</b>",$result); // facultatif, sa met tout les nombres en gras. $detailPattern = "#Furtivité [0-9 -]*#i"; preg_match($detailPattern,$results[0][2],$detail); $listedetail = explode (" ", $detail[0]); $couleurs=array("blue","red","yellow","#FFFFFF","green","pink"); //couleur de BBCODE for($i=1;$i<count($listedetail);$i++){ $listedetail[$i]= "[color=".$couleurs[$i]."]".$listedetail[$i]."[/color]"; } $strDetail = implode(" ",$listedetail); $results[0][2] = str_replace($detail[0], $strDetail,$results[0][2]); echo nl2br($result); echo "<br />Rapport de combat mis en forme par : <a href='#'>NinJaX</a>" ?>
ça t'arrive de faire attention à ce que les noms de variables correspondent un minimum ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 <?php $result = $_POST['rapportcoller']; $pattern="#COMBAT CONTRE ([a-z0-9_\[\]]*)#i"; preg_match($pattern,$result,$joueur); $result = str_replace($joueur[1], "<b>$joueur[1]</b>",$result); // le pseudo du joueur attaqué est marqué en gras. $detailPattern = "#(attaque front defense)\s*([0-9 a-z]*)#i"; preg_match($detailPattern,$result,$detail); $listedetail = explode (" ", $detail[2]); $listeTitre = explode (" ", $detail[1]); $couleurs=array("blue","red","yellow","#FFFFFF","green","pink"); //couleur de BBCODE for($i=0;$i<count($listedetail);$i++){ $listeTitre[$i]= "[color=".$couleurs[$i]."]".$listeTitre[$i]."[/color]"; $listedetail[$i]= "[color=".$couleurs[$i]."]".$listedetail[$i]."[/color]"; } $strDetail = implode(" ",$listedetail); $strtitre = implode(" ",$listeTitre); $result = str_replace($detail[0],$strtitre."\r".$strDetail,$result); $result = preg_replace("#([0-9]{1,5})#i","<b>$1</b>",$result); // facultatif, sa met tout les nombres en gras. echo nl2br($result); echo "<br />Rapport de combat mis en forme par : <a href='#'>NinJaX</a>"; ?>
genre tu avais des results[x] qui sortait de nullepart ...
Tu fais aussi une boucle sur les couleurs mais par un mystère inconnu tu pars de l'indice 1 au lieu de 0 ?
De rien ....
Salut, j'ai eu de gros souci avec mon pc, je ne pouvais pas avertir, j'en suis désolé.
Je vais pouvoir m'y remettre.
Bonne journée et merci beaucoup pour l'aide.
Bonjour, j'avais laisser ce petit script de coté, mais je souhaite aujourd'hui m'y remettre dedans.
J'ai recommencer un peu, car il y a eu encore un nouveau affichage du rapport de combat
J'en suis la (ca plante encore un peu) :
Index.html
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <form method="post" action="./converter.php"> <label for="rapport_coller">Collez ici le rapport de combat</label><br /> <textarea name="rapport_coller" id="rapport_coller" rows="10" cols="50" value=""></textarea> <br /> <input type="submit" value="Envoyer" /> </form>
converter.php
Exemple de rapport de combat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 <?php $rapport_coller = ''; if (!empty ($_POST['rapport_coller'])) { $rapport_coller = $_POST['rapport_coller']; } // PARTIE 1 : $pattern1 = "#[a-z0-9 \s:é.,/\[\]\(\)'%+-]*[_\s ]*#i"; $results=array(); preg_match_all($pattern1,$rapport_coller,$results); $pattern="#COMBAT CONTRE ([a-z0-9_]*)#i"; preg_match($pattern,$results[0][0],$joueur); $results[0][0] = str_replace($joueur[1], "<b>$joueur[1]</b>",$results[0][0]); $pattern="#Vous ([a-z0-9_]*)#i"; preg_match($pattern,$results[0][0],$remporteornot); $results[0][0] = str_replace($remporteornot[1], "<b>$remporteornot[1]</b>",$results[0][0]); $pattern="#le combat en ([a-z0-9_]*)#i"; preg_match($pattern,$results[0][0],$gagneornot); $results[0][0] = str_replace($gagneornot[1], "<b>$gagneornot[1]</b>",$results[0][0]); $pattern="#sur ([a-z0-9_]*)#i"; preg_match($pattern,$results[0][0],$nbr_front); $results[0][0] = str_replace($nbr_front[1], "<b>$nbr_front[1]</b>",$results[0][0]); $pattern="#contre ([a-z0-9_]*)#i"; preg_match($pattern,$results[0][0],$nbr_front_att); $results[0][0] = str_replace($nbr_front_att[1], "<b>$nbr_front_att[1]</b>",$results[0][0]); $pattern="#Prime finale de: ([a-z0-9_]*)#i"; preg_match($pattern,$results[0][0],$prime_finale); $results[0][0] = str_replace($prime_finale[1], "<b>$prime_finale[1]</b>",$results[0][0]); // PARTIE 2 : $afdPattern = "#attaque [a-zé\t -]*#i"; preg_match($afdPattern,$results[0][1],$tableau); $listeafd = explode(" ", $tableau[0]); $couleurs=array("blue","red","yellow","#FFFFFF","green","pink"); //tout ce qui entre dans un code BB for($i=1;$i<count($listeafd);$i++){ $listeafd[$i]= "[color=".$couleurs[$i]."]".$listeafd[$i]."[/color]"; } $strAfd = implode(" ",$listeafd); $results[0][1] = str_replace($tableau[0], $strAfd,$results[0][1]); $pattern="#Votre tactique repousse l'ennemi et vous apporte un gain de force de ([a-z0-9_]*)#i"; preg_match($pattern,$results[0][1],$tactique_ft); $results[0][1] = str_replace($tactique_ft[1], "<b>$tactique_ft[1]</b>",$results[0][1]); $pattern="#effectif: ([a-z0-9_]*)#i"; preg_match($pattern,$results[0][1],$effectif); $results[0][1] = str_replace($effectif[1], "<b>$effectif[1]</b>",$results[0][1]); $pattern="#prime: [0-9 -]*#i"; preg_match($pattern,$results[0][1],$prime_ft); $results[0][1] = str_replace($prime_ft[1], "<b>$prime_ft[1]</b>",$results[0][1]); // Affichage final : echo nl2br($results[0][0]); //Partie 1 echo nl2br($results[0][1]); //Partie 2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 0/03 - Expéditeur: Etat Major Supprimer COMPTE RENDU DU COMBAT CONTRE titil Vous remportez le combat en gagnant sur 4 front(s) contre 0 pour l'attaque. Prime finale de: 35640 Or. ________________________________ attaque front defense 1916 Terrestre 5560 Votre tactique repousse l'ennemi et vous apporte un gain de force de 7% effectif: -5/100 prime: 1360 -------------------------------------------------------------------------------- 17075 Blindé 30650 Votre tactique repousse l'ennemi et vous apporte un gain de force de 7% effectif: -5/100 prime: 5500 -------------------------------------------------------------------------------- 6300 Naval 9942 Votre tactique vous confère un gain de force de 7%. effectif: -9/100) prime: 10080 -------------------------------------------------------------------------------- 9290 air 10908 Votre tactique repousse l'ennemi et vous apporte un gain de force de 7% effectif: -12/100) prime: 18700 Sont inclus dans les forces et les pertes: La défense obtiens un gain de force de 5% (furtivité supérieur a l'attaquant) Bonus sur les terrestre : Furtivite(gymnase) +25/100 et Force(stand de tir) +25/100 Bonus sur les blindés : Force(avant-poste) +25/100 57 médecins: -7% de pertes sur les troupes 23 sapeurs: -5% de pertes sur le front blindés. ________________________________
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager