IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Comment remplacer un caractère


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

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

    Informations forums :
    Inscription : Février 2005
    Messages : 30
    Points : 28
    Points
    28
    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.

  2. #2
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    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 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

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

    Informations forums :
    Inscription : Février 2005
    Messages : 30
    Points : 28
    Points
    28
    Par défaut
    Je viens d'essayer, et voici la réponse :
    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.

  4. #4
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    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 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_replace('!([0-9])\?!','$1E',$description);
    pour une parse error, tu peux regarder 2 seconde le code
    je suis pas devant mon serveur apache ...

  5. #5
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_replace("/[0-9]+\?/","$1 €",$description);
    Comme ceci ?

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

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

    Informations forums :
    Inscription : Février 2005
    Messages : 30
    Points : 28
    Points
    28
    Par défaut
    malheureusement je trouve pas la réponse.
    Je comprend pas car ca ne marche toujours pas

  7. #7
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    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 127
    Points : 2 557
    Points
    2 557
    Par défaut
    redonne ce que tu utilise comme code. et ce que ca te donne.

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/09/2006, 16h43
  2. Réponses: 4
    Dernier message: 29/08/2006, 17h44
  3. Comment remplacer plusieurs caractères dans une chaîne?
    Par Antigonos Ier Gonatas dans le forum Général Python
    Réponses: 5
    Dernier message: 16/06/2006, 16h04
  4. Réponses: 3
    Dernier message: 27/06/2005, 16h24
  5. Réponses: 5
    Dernier message: 25/01/2005, 14h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo