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 :

Problème avec ereg_replace


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Problème avec ereg_replace
    Salut,

    Voilà mon problème :
    Je veux à l'aide de la fonction ereg_replace remplacer tous les mots de 2 caractères (ou 1) dans un chaîne.

    Si je fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $chaine="test de la mort";
    $result=ereg_replace(" [a-zA-Z0-9]{1,2} "," ",$chaine);
    Uniquement le premier mot de 2 caractères est remplacé .

    Et avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $chaine="test de la de la mort";
    On voit que un mot sur deux est remplacé.
    J'ai l'impression que c'est parceque l'espace entre les 2 mots est utilisé 2 fois, une fois comme l'espace de fin et une fois comme l'espace de début.

    SVP, aidez moi !!

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Je tente ma chance :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $ma_chaine = 'la chemin de la rue du bourg de al';
     
    echo preg_replace('/\b\w{1,2}\b/', '', $ma_chaine);
    # Ou encore pour gérer les espaces
    echo implode(' ', preg_split('/\s+|\b\w{1,2}\b/', $ma_chaine, -1, PREG_SPLIT_NO_EMPTY));
    Votre solution ne fonctionne pas à cause des espaces où dans votre regexp ils doivent appraître avant et après.


    Julp.

Discussions similaires

  1. [PHP 5.1] problème avec ereg_replace
    Par Abou Zar dans le forum Langage
    Réponses: 2
    Dernier message: 10/05/2010, 11h26
  2. [RegEx] Problème avec la fonction ereg_replace
    Par Ceubex dans le forum Langage
    Réponses: 2
    Dernier message: 08/01/2007, 13h21
  3. [RegEx] Problème avec ereg_replace()
    Par Neuromancien2 dans le forum Langage
    Réponses: 8
    Dernier message: 01/07/2006, 23h26
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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