[Résolu] Problème Expressions régulières
11 messages
• Page 1 sur 1
-

Dharius - WRInaute impliqué

- Messages: 829
- Inscription: 6 Avr 2005
[Résolu] Problème Expressions régulières
Bonjour,
Une fois n'est pas coutume, j'ai un problème d'expressions régulières... mais je fais des progrès
Voilà, j'ai un texte du genre :
$texte = "tarif1 :US$6; tarif2 :US$12; tarif3 : US$2";
je voudrais replacer "US$X" par "valeur=X"...
J'utilise l'expression suivante mais elle ne remplace que la première occurence :
Qu'elqu'un s'y connait-il assez pour m'aider ?
Une fois n'est pas coutume, j'ai un problème d'expressions régulières... mais je fais des progrès
Voilà, j'ai un texte du genre :
$texte = "tarif1 :US$6; tarif2 :US$12; tarif3 : US$2";
je voudrais replacer "US$X" par "valeur=X"...
J'utilise l'expression suivante mais elle ne remplace que la première occurence :
- Code: Tout sélectionner
eregi_replace ("US(((.*){1,5}))", "valeur=\\1",$texte);
Qu'elqu'un s'y connait-il assez pour m'aider ?
Dernière édition par Dharius le Mar Oct 30, 2007 18:05, édité 3 fois.
-

medium69 - WRInaute passionné

- Messages: 2485
- Inscription: 7 Mai 2005
Re: Problème Expressions régulières
- Code: Tout sélectionner
preg_replace('#US\$([0-9])#U', 'valeur=$1', $texte);
-

medium69 - WRInaute passionné

- Messages: 2485
- Inscription: 7 Mai 2005
Dharius a écrit:Heu... en fait je complique un peu la chose...
je veux multiplier cette valauer par 3.14 par exemple genre "'valeur=$1*3.14" -> mais ça ne marche pas bien entendu!
Comment faire ?
C'est pourtant simple
Il faut que tu passe passe une fonction pour cela...
dans ce cas cela devient :
Dans la première on ne cherchait qu'une séquence US$ suivi d'au moins un chiffre.
Dans le nouveau cas, non seulement, nous voulons récupérer l'intergalité du nombre et le modifier...
On cherche le masque US$ suivi d'une série de chiffre de 1 à l'infini, suivi de n'importe quel caractère qui n'est pas un chiffre ou alors une fin de texte.
- Code: Tout sélectionner
function MaSuperFonction($value) {
$var = 'valeur='.$value[1]*3.14.$value[2];
return $var
}
preg_replace_callback('#US\$([0-9]+)([^0-9]|$)#U', 'MaSuperFonction', $texte);
J'ai galéré longtemps avec les regex, et maintenant c'est aussi limpide que de l'eau claire...
Je devrais peut-être me mettre au chinois un de ces quatre
-

Dharius - WRInaute impliqué

- Messages: 829
- Inscription: 6 Avr 2005
Lol, j'allucine, ça marche et ça a l'air si facile pour toi : MERCI !!!
En hommage pour toi, la foncion portera toujours le même nom "MaSuperFonction" hihi...
Wai c'est comme tout, à un moment, tu as le déclic et tout te parait plus simple....
Merci
En hommage pour toi, la foncion portera toujours le même nom "MaSuperFonction" hihi...
Wai c'est comme tout, à un moment, tu as le déclic et tout te parait plus simple....
Merci
-

medium69 - WRInaute passionné

- Messages: 2485
- Inscription: 7 Mai 2005
Dharius a écrit:Lol, j'allucine, ça marche et ça a l'air si facile pour toi :
Tu sais... j'ai galéré durant des heures et des heures, car c'est vraiment du chinois.
Mais une fois que tu as réussi à comprendre toutes les facettes, c'est un vrai régal.
Dharius a écrit:En hommage pour toi, la foncion portera toujours le même nom "MaSuperFonction" hihi...
euh...
Gaffe à toi, j'ai dépose le nom à l'Inpi aujourd'hui
11 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- [Résolu] expressions régulières et PHP
- Expressions régulières ?
- Expressions régulières
- Expressions regulieres mask
- numérique et expressions régulières
- javascript et expressions regulières
- expressions regulieres (&q=)
- expressions régulières et lettres
- Expressions régulières entonnoir de conversion
- expressions régulieres et fichier robots
Consultez la description détaillée des produits ou services de Google suivants : Google Suggest
- Google Suggest
Cet outil vous permet d'obtenir une liste de 10 mots ou expressions suggérés par Google sur la base d'un mot que vous fournissez.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

