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 :

preg_replace mauvais resultat [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Points : 267
    Points
    267
    Par défaut preg_replace mauvais resultat
    Bonjour,

    J'essaye de remplacer tous les caractères ? par ' , mais cela me supprime les lettres entourant le ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    $text = "open d?Australie";
    $textnew = preg_replace('/[a-zA-Z](\?)[a-zA-Z]/i','\'',$text);
    echo $textnew;
    ?>
    Cela me renvoie :
    [CODE]
    open 'ustralie
    [CODE]

    Alors que je voudrai :
    open d'Australie

    Pouvez-vous m'aider svp ?

  2. #2
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    Bonjour,

    utilise plutôt str_replace() qui est plus rapide est plus simple à utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $str = "Open d?Australie";
    echo str_replace("?","'",$str);
    ?>

  3. #3
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Points : 267
    Points
    267
    Par défaut
    Citation Envoyé par ska_root Voir le message
    Bonjour,

    utilise plutôt str_replace() qui est plus rapide est plus simple à utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $str = "Open d?Australie";
    echo str_replace("?","'",$str);
    ?>
    J'ai oublié de préciser une chose, les ? à remplacés sont toujours entourés de lettres

    Exemple:
    Chaîne de caractère ou je remplace le ? :
    Open d?Australie

    Chaîne de caractère où je ne remplace pas le ?
    Où est toto ?

  4. #4
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $pattern = '#(\w+)(\?)(\w+)#i';
    $str = "L?open d?Australie se joue en Février ?, non je ne pense pas";
    echo preg_replace($pattern, "$1'$3", $str);
    ?>

  5. #5
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Points : 267
    Points
    267
    Par défaut
    Citation Envoyé par ska_root Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $pattern = '#(\w+)(\?)(\w+)#i';
    $str = "L?open d?Australie se joue en Février ?, non je ne pense pas";
    echo preg_replace($pattern, "$1'$3", $str);
    ?>
    cela fonctionne, merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] mauvais resultat
    Par Elros dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 14/06/2009, 14h24
  2. Mauvais resultat de nom de colonne
    Par Albat_r dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 22/05/2009, 17h08
  3. Mauvais resultat avec le type float
    Par edogawa dans le forum Langage
    Réponses: 1
    Dernier message: 17/12/2007, 15h35
  4. [RegEx] preg_replace mauvais pattern
    Par julien.63 dans le forum Langage
    Réponses: 6
    Dernier message: 26/01/2007, 19h07
  5. Pb requête : mauvais resultats
    Par lolo_bob2 dans le forum Access
    Réponses: 4
    Dernier message: 13/05/2006, 22h29

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