Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/05/2007, 12h59   #1
Invité régulier
 
Inscription : juillet 2004
Messages : 20
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 20
Points : 8
Points : 8
Par défaut expression régulière retournant un tableau

Salut,

J'ai une chaine de caractère :
$chaine = "123-456@789-456@";

Je connais la chaine "456".
je voudrais parcourir cette chaine et récupérer 123 et 789 avec une seule fonction PHP si c'est possible, genre avec la fonction ereg.
Seulement, cette fonction ne me retourne qu'une seule valeur, la première alors que moi je voudrais un tableau qui me retourne 123 et 789.
Où me suis je planté ?

Merci
NerOcrO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2007, 13h30   #2
Invité régulier
 
Inscription : juillet 2004
Messages : 20
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 20
Points : 8
Points : 8
Bon j'ai trouvé :p

Code :
1
2
3
4
5
6
7
8
9
10
11
$entree = "123-456@789-456@abc-456@xc4-456@";
 
$masque = '/([a-z0-9]*)-456@/';
preg_match_all($masque, $entree, $resu);
$nb = count($resu[0]);
 
echo "<pre>entree = '$entree'<br>masque = '$masque'<br>";
for($i=0;$i<$nb;$i++) {
	echo $resu[0][$i]." => ".$resu[1][$i]."<br />";
}
echo "</pre>";
NerOcrO est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h40.


 
 
 
 
Partenaires

Hébergement Web