Création
d'entreprise
Posez votre question Signaler

[PHP] Expressions régulières

Delta9_THC 62Messages postés 8 mars 2005Date d'inscription - Dernière réponse le 25 sept. 2007 à 07:39
Re-bonjour,

Je re-pose la question différement, je ne suis pas sûr d'avoir été clair dans mon dernier post :

si j'ai une variable $chaine = "45 AZERTY 78 UIOP 26 GFDTE"

est-il possible, en un seul ereg/eregi de récupérer "45", "AZERTY", "78", "UIOP", "26", "GFDTE" ??
Ou au moins de récupérer "45 AZERTY", "78 UIOP", "26 GFDTE" (je trierai après...)
Le tout en sachant que cette $chaine est formée de 3 séries (2 chiffres, des lettres, 2 chiffres, des lettres, 2 chiffres, des lettres) mais qu'il faudrait aussi que cela fonctionne pour 1 ou 2.

Merci aux courageux ! :o)
Lire la suite 

[PHP] Expressions régulières »

9 réponses
Réponse
+0
moins plus
Salut,

est-il possible, en un seul ereg/eregi de récupérer "45", "AZERTY", "78", "UIOP", "26", "GFDTE" ??

En ce cas tu n'as pas besoin d'une regex. Tu peux utiliser http://www.expreg.com/pregsplit.php

lami20j
Delta9_THC- 2 mai 2006 à 15:31
Ben merci ! Si je cherche pas au bon endroit je risque pas d'y arriver ! :o)

Merci encore
Zep3k!GnO- 2 mai 2006 à 15:33
t'as raison j'y avait mêm epas penser, si t'as que des espaces entre ec que tu veux récuperer t'as meme explode() qui fait le compte ...
Ajouter un commentaire
Réponse
+0
moins plus
Salut , je ne suis pas sur à 100 %de la synthaxe mais :
$chaine = "45 AZERTY 78 UIOP 26 GFDTE";
$patterns="/([0-9]{2}) ([^ ]+) [0-9]{2}) ([^ ]+) [0-9]{2}) ([^ ]+) /";
ereg($patterns,$chaine,$id);
print_r($id);

Par contre je me suis servi de l'espace entre les chiffres et les lettres pour délimiter les lettres...
Voilà, ca devrait pas etre trop mauvais...
bonne journée :D
Ajouter un commentaire
Réponse
+0
moins plus
Ok ok merci à tous !
Je vais essayer avec ces méthodes demain, si jamais ça fonctionne pas je reviendrai ! Et si ça fonctionne....je reviendrai aussi :o)
Ajouter un commentaire
Réponse
+0
moins plus
Réponse tardive mais néammoins présente :o)

Ca marche nickel ! Bon j'ai un peu de mal à saisir le concept mais j'ai pas eu le temps de m'attarder dessus........je le ferai plus tard !

merci encore !
Zep3k!GnO- 9 mai 2006 à 10:13
Pas de soucis... :D
j'avoue que les expressions régulières a première vue c'est imbittable !
Bonne journée ;)
@+
Ajouter un commentaire
Réponse
+0
moins plus
La meilleure solution est d'utiliser la function explode qui sépare des morceaux de chaînes selon un séparateur et les met dans un tableau.

Voici sa syntaxe :

array explode(string separateur, string chaine[, int limite])

Utilise le separateur pour découper la chaine dans un tableau. Si la limite est fournie, le tableau contiendra un nombre limité d'éléments dont le dernier contiendra le reste de la chaine.

Le résultat cherché ici s'obtient comme ceci :

$array= explode(' ', $chaine);

Pas besoin d'expressions régulières dans le cas présent.
lami20j- 25 sept. 2007 à 07:39
Salut,

déterrer un thread pour donner un réponse qui as été déjà donné en 2006, n'a aucun sens (il faut lire le thread avant ;)
regarde php expressions regulieres#4
Ajouter un commentaire
Ce document intitulé « [PHP] Expressions régulières » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?