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 09/06/2006, 16h07   #1
Invité régulier
 
Homme
Inscription : février 2005
Messages : 30
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2005
Messages : 30
Points : 9
Points : 9
Par défaut Comment remplacer un caractère

Bonjour tout le monde,

voila mon soucis.
J'ai un texte que j'affiche, et dans ces textes se situe des "?". Ces "?" remplacent soit le symbole "€" soit le "'"(quote).

En clair, ce que je cherche à faire, c'est de remplacer le "?" par un "€" quand il se situe juste derrière un chiffre.

Pour cela je pensais utiliser une expression régulière. Malheureusment, je trouve bien les "?" en question derrière les chiffres, mais il me remplace le chiffre dans la foulé.

En clair à l'origine j'ai "prix : 5?", et après traitement j'ai "prix : €".

C'est pas top , évidement je n'ai pas accès au texte, sinon je n'aurais pas de soucis

voici ce le traitement que j'applique :
$pattern='![0-9](\?)!'; //je cherche le un chiffre suivi d'un ?
$replacement='€'; // je remplace par €
$description = preg_replace($pattern, $replacement, $description);

si quelqu'un peut m'aider ce serais sympa.

Merci d'avance.
ch_lensois est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2006, 16h11   #2
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 126
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Expert PHP
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2004
Messages : 2 126
Points : 2 602
Points : 2 602
Code :
preg_replace("!([0-9])\?!",$1."E",$description);
desole je peux pas faire le signe euro.

mais avec le $1 tu recupere ce que j'ai mis entre parenthese, et le tour est joue ... tu n'avais pas non plus besoin de ton ? entre parenthese.
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur.
Mon espace Développez : mes Créations.


Rencontre & Carte des Membres de Developpez.com, version 3.0
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2006, 16h17   #3
Invité régulier
 
Homme
Inscription : février 2005
Messages : 30
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2005
Messages : 30
Points : 9
Points : 9
Je viens d'essayer, et voici la réponse :
Citation:
Parse error: parse error, unexpected T_DNUMBER, expecting T_VARIABLE or '$' in /toto.php on line 100
bien entendu la ligne 100 est celle du preg_replace.
ch_lensois est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2006, 16h22   #4
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 126
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Expert PHP
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2004
Messages : 2 126
Points : 2 602
Points : 2 602
Code :
preg_replace('!([0-9])\?!','$1E',$description);
pour une parse error, tu peux regarder 2 seconde le code
je suis pas devant mon serveur apache ...
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur.
Mon espace Développez : mes Créations.


Rencontre & Carte des Membres de Developpez.com, version 3.0
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2006, 16h23   #5
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Code :
preg_replace("/[0-9]+\?/","$1 €",$description);
Comme ceci ?
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2006, 17h06   #6
Invité régulier
 
Homme
Inscription : février 2005
Messages : 30
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2005
Messages : 30
Points : 9
Points : 9
malheureusement je trouve pas la réponse.
Je comprend pas car ca ne marche toujours pas
ch_lensois est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2006, 17h07   #7
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 126
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Expert PHP
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2004
Messages : 2 126
Points : 2 602
Points : 2 602
redonne ce que tu utilise comme code. et ce que ca te donne.
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur.
Mon espace Développez : mes Créations.


Rencontre & Carte des Membres de Developpez.com, version 3.0
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h17.


 
 
 
 
Partenaires

Hébergement Web