Lister avec la fonction explode

Résolu/Fermé
Aka13 Messages postés 153 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 8 février 2016 - Modifié par Aka13 le 13/02/2011 à 01:04
Aka13 Messages postés 153 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 8 février 2016 - 13 févr. 2011 à 08:31
Bonjour,

J'ai un problème avec la fonction explode, j'ai un fichier (fichier.txt) qui contient :

NOM_psi22= 
NOM_hsu66= 
NOM_hds74= 
NOM_sa144= 
...

Et j'aimerais que sa m'affiche :
psi22 
hsu66 
hds74 
sa144 
...

J'ai donc utilisé la fonction explode suivante :
$data = file_get_contents("fichier.txt"); 
$debut = explode('NOM_', $data);
$fin = explode('=', $debut[1]);
$total = $fin[0];
    echo $total;

Mais cela m'affiche uniquement psi22
Comment résoudre ce problème ?


Cordiallement Aka13

3 réponses

Aka13 Messages postés 153 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 8 février 2016 8
13 févr. 2011 à 08:31
C'est bon j'ai trouvé tout seul :)
$data = file_get_contents("fichier.txt"); 
$num = substr_count($data, "NOM_");
$debut = explode('NOM_', $data);
for( $i = 1; $i < $num; $i++ )
{
$total = $fin[$i];
$total = explode('=', $debut[$i]);
     echo "$total[0]<br>";
}
1
Bonjour,

A la volée (et dans la fatigue) je dirais qu'au lieu de

$total = $fin[0];


tu devrais mettre

$total = implode( "<br/>", $fin );
0
Aka13 Messages postés 153 Date d'inscription jeudi 18 juin 2009 Statut Membre Dernière intervention 8 février 2016 8
13 févr. 2011 à 02:56
Salut,
Avec :

$total = implode( "<br/>", $fin );
Il m'affiche psi22 et dans le code source on voie :
psi22<br>

Donc ton code n'est pas valide, il faudrait un code qui fait une boucle ou je sais pas :s
0