Expression reguliere

Angelique
Invité n'ayant pas de compte PHPfrance

28 juil. 2007, 22:23

Bonjour,

Y aurait-il un spécialiste des expressions régulières pour me proposer ce que je cherche depuis plusieurs jours.

Soit la chaine suivante :
<champ1:6>valeur1<champ2:9>valeur2<champ3:7>valeur3
Je souhaite recuperer la valeur de chaque champ.
==>
champ1:valeur1
champ2:valeur2
champ3:valeur3

les champs ne comportent que des lettres ou un underscore
les valeurs sont alphanumerique

les chiffres (6, 9, 7) correspondent a longueur des valeurs mais ne m'interressent pas lors de l'extraction.

Seule une expression régulière m'interesse.

Merci d'avance pour une solution.
Angelique

Eléphant du PHP | 185 Messages

28 juil. 2007, 23:39

Bonsoir,

j'ai un peu de mal à comprendre ce que tu cherches à faire. S'agit-il de remplacer la chaîne
"<champ1:6>valeur1<champ2:9>valeur2<champ3:7>valeur3"
par la chaîne
"champ1:valeur1champ2:valeur2champ3:valeur3"
Ou cherches-tu uniquement à extraire les chiffres 1, 2 et 3 correspondant aux valeurs ?

Enfin les valeurs affichées sont-elles saisies à partir d'un formulaire ?

Voilà, si tu as déjà écrit une ébauche de code et que tu acceptes de le communiquer, ça m'aiderait sans doute à mieux comprendre ta démarche.

Cordialement.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

29 juil. 2007, 00:25

Je ne vois pas trop où est la difficulté si tu t'es un tant soit peu interessé aux expressions régulières, il y a un très bon tutorial sur le site. Suffit juste de savoir exprimer ce que tu veux, à savoir capturer une chaine :

- qui comment par un "<"
- qui contient uniquement des lettres et/ou underscores
- qui se termine par ":", un nombre, et un ">"
- et capturer la chaine qui suit, qui se compose de caractères alphanumériques

Prends le temps de lire le tuto sur les expreg, ce que tu demandes n'a rien de sorcier et toutes les réponses sont dedans. Ca te sera bien plus profitable de le faire toi même et de comprendre, que d'attendre de nous un pattern tout fait auquel tu ne comprendras rien :)

Au pire, montre nous ce que tu auras fait, on pourra toujours t'expliquer ce qui ne va pas, pourquoi ca ne va pas, et comment y remédier.
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...