par
hyperion » 28 mai 2006, 12:31
j'ai essayé avec la fonction parse_ini_file avec ce code:
Code : Tout sélectionner
<?php
$file="test2.ini";
$ini_array = parse_ini_file($file, TRUE);
$dat_a=($ini_array["DBestTimes.BestTimes"]["BestMapTimes"]);
$dat_b=explode("%",$dat_a); //isolement Carte/Temps/Joueurs
echo $dat_a;
echo '<br/>';
print_r($dat_b);
echo '<br/>';
$dat_b[1] = str_replace("TME:","",$dat_b[1]); //suppression des données indésirables dans Temps et Joueurs
$dat_b[2] = str_replace("NMS:","",$dat_b[2]);
$dat_b[2] = str_replace(" ","",$dat_b[2]);
print_r($dat_b);
//isolement du nom de la carte
$carte = $dat_b[0];
echo '<br/><br/>Carte: <br/>' .$carte;
//Convertion du temps en secondes en Minutes et Secondes
$minutes=floor($dat_b[1]/(60));
$secondes=$secondes=60*(number_format($dat_b[1]/(60),2)-floor($dat_b[1]/(60)));
$temps = array_merge($minutes,$secondes);
echo '<br/><br/>Temps:<br/>';
print_r($temps);
//Insertion des noms de joueurs dans un tableau à 3 dimensions
$joueurs=explode(",",$dat_b[2]);
echo '<br/><br/>Joueurs: <br/>';
print_r($joueurs);
$classement = array_merge($carte,$temps,$joueurs);
echo '<br/><br/>Classement: Carte Minutes Secondes Joueur1 Joueur2 Joueur3<br/>';
print_r($classement);
?>
Ce code arrive à séparer correctement les variables avec des données avec des caractères simples, seulement quand test2.ini= ça:
[DBestTimes.BestTimes]
BestMapTimes=AS-7Co-MayanTemple-V01b%TME:283%NMS:{LôD}Knight (BE), »DmT]óö[slåyér«6 (NL), {MoD}Dark_Angel (GRB)
, ya des caractère que php n'aime pas et il arrive plus à séparer les variables:
Warning: Error parsing test2.ini on line 2 in c:\program files\easyphp1-8\www\read2.php on line 4
Notice: Undefined index: DBestTimes.BestTimes in c:\program files\easyphp1-8\www\read2.php on line 5
Array ( [0] => )
Notice: Undefined offset: 1 in c:\program files\easyphp1-8\www\read2.php on line 11
Notice: Undefined offset: 2 in c:\program files\easyphp1-8\www\read2.php on line 12
Array ( [0] => [1] => [2] => )
Carte:
Minutes:0
Temps:
Array ( [0] => 0 [1] => 0 )
Joueurs:
Array ( [0] => )
Classement: Carte Minutes Secondes Joueur1 Joueur2 Joueur3
Array ( [0] => [1] => 0 [2] => 0 [3] => )
comment faire, pour en amont, filtrer ces variables indésirables? (une fonction qui enlève les mauvais caractères?)
j'ai essayé avec la fonction parse_ini_file avec ce code:
[code]<?php
$file="test2.ini";
$ini_array = parse_ini_file($file, TRUE);
$dat_a=($ini_array["DBestTimes.BestTimes"]["BestMapTimes"]);
$dat_b=explode("%",$dat_a); //isolement Carte/Temps/Joueurs
echo $dat_a;
echo '<br/>';
print_r($dat_b);
echo '<br/>';
$dat_b[1] = str_replace("TME:","",$dat_b[1]); //suppression des données indésirables dans Temps et Joueurs
$dat_b[2] = str_replace("NMS:","",$dat_b[2]);
$dat_b[2] = str_replace(" ","",$dat_b[2]);
print_r($dat_b);
//isolement du nom de la carte
$carte = $dat_b[0];
echo '<br/><br/>Carte: <br/>' .$carte;
//Convertion du temps en secondes en Minutes et Secondes
$minutes=floor($dat_b[1]/(60));
$secondes=$secondes=60*(number_format($dat_b[1]/(60),2)-floor($dat_b[1]/(60)));
$temps = array_merge($minutes,$secondes);
echo '<br/><br/>Temps:<br/>';
print_r($temps);
//Insertion des noms de joueurs dans un tableau à 3 dimensions
$joueurs=explode(",",$dat_b[2]);
echo '<br/><br/>Joueurs: <br/>';
print_r($joueurs);
$classement = array_merge($carte,$temps,$joueurs);
echo '<br/><br/>Classement: Carte Minutes Secondes Joueur1 Joueur2 Joueur3<br/>';
print_r($classement);
?>
[/code]
Ce code arrive à séparer correctement les variables avec des données avec des caractères simples, seulement quand test2.ini= ça:
[DBestTimes.BestTimes]
BestMapTimes=AS-7Co-MayanTemple-V01b%TME:283%NMS:{LôD}Knight (BE), »DmT]óö[slåyér«6 (NL), {MoD}Dark_Angel (GRB)
, ya des caractère que php n'aime pas et il arrive plus à séparer les variables:
Warning: Error parsing test2.ini on line 2 in c:\program files\easyphp1-8\www\read2.php on line 4
Notice: Undefined index: DBestTimes.BestTimes in c:\program files\easyphp1-8\www\read2.php on line 5
Array ( [0] => )
Notice: Undefined offset: 1 in c:\program files\easyphp1-8\www\read2.php on line 11
Notice: Undefined offset: 2 in c:\program files\easyphp1-8\www\read2.php on line 12
Array ( [0] => [1] => [2] => )
Carte:
Minutes:0
Temps:
Array ( [0] => 0 [1] => 0 )
Joueurs:
Array ( [0] => )
Classement: Carte Minutes Secondes Joueur1 Joueur2 Joueur3
Array ( [0] => [1] => 0 [2] => 0 [3] => )
comment faire, pour en amont, filtrer ces variables indésirables? (une fonction qui enlève les mauvais caractères?)