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 :

mettre en majuscule chaque mot d'une chaine [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Points : 118
    Points
    118
    Par défaut mettre en majuscule chaque mot d'une chaine
    bonjour
    j'ai une chaine de texte du genre
    bonjour comment tu vas
    j'aimerais mettre en majuscule le début de chaque mot comme ceci
    Bonjour Comment Tu Vas
    j'ai essayé de créer cette fonction mais celà ne semble pas marcher
    function mettre_en_maj($chaine){
    $pattern = "#\b#";
    preg_match_all($pattern,$chaine,$matches);
    echo '<xmp>';
    print_r($matches);
    echo '</xmp>';
    }
    Avez vous une autre piste .
    merci d'avance

  2. #2
    Membre habitué Avatar de Mitaka
    Profil pro
    formaTRICE en informatique
    Inscrit en
    Avril 2003
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : formaTRICE en informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 192
    Points : 178
    Points
    178
    Par défaut
    salut
    tu n'as pas besoin de passer par une expression régulière pour ça
    il y a déjà une fonction php qui s'en occupe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $chaine = "bonjour comment tu vas";
     
    $test = ucwords($chaine);
    echo $test;

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Points : 118
    Points
    118
    Par défaut
    Citation Envoyé par Mitaka Voir le message
    salut
    tu n'as pas besoin de passer par une expression régulière pour ça
    il y a déjà une fonction php qui s'en occupe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $chaine = "bonjour comment tu vas";
     
    $test = ucwords($chaine);
    echo $test;
    il y a un malentendu j'ai l'impression.avec ton code tout va être mis en majuscule et c'est pas ce que je voudrais

  4. #4
    Membre habitué Avatar de Mitaka
    Profil pro
    formaTRICE en informatique
    Inscrit en
    Avril 2003
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : formaTRICE en informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 192
    Points : 178
    Points
    178
    Par défaut
    tu as testé au moins ?
    ça donne cela
    Bonjour Comment Tu Vas

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Points : 118
    Points
    118
    Par défaut
    Citation Envoyé par Mitaka Voir le message
    tu as testé au moins ?
    ça donne cela
    oui t'as raison .c'est encore mieux comme celà
    $test = ucwords(strtolower($chaine));
    ceci dit je prefere passer par preg_macht car si j'ai par exemple le mot
    anti-seche et que je veux que ca affiche Anti-Seche .Je peux le faire avec preg match

  6. #6
    Membre habitué Avatar de Mitaka
    Profil pro
    formaTRICE en informatique
    Inscrit en
    Avril 2003
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : formaTRICE en informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 192
    Points : 178
    Points
    178
    Par défaut
    alors dans ce cas, il faut le préciser dans ton sujet
    on ne peut pas tout deviner
    essaye ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $pattern = "#([[:alnum:]]+-?)#";

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Points : 118
    Points
    118
    Par défaut
    Citation Envoyé par Mitaka Voir le message
    alors dans ce cas, il faut le préciser dans ton sujet
    on ne peut pas tout deviner
    essaye ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $pattern = "#([[:alnum:]]+-?)#";
    merci mikata , ca marche.
    par contre j'ai pas compris le - et ? .Si tu peux expliquer à un débutant ce serait sympa

  8. #8
    Membre habitué Avatar de Mitaka
    Profil pro
    formaTRICE en informatique
    Inscrit en
    Avril 2003
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : formaTRICE en informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 192
    Points : 178
    Points
    178
    Par défaut
    ([[:alnum:]]+-?)
    dans l'expression ce qui est entre parenthèses sera récupéré
    [[:alnum:]]+ : au moins un alphanumérique à plusieurs
    "-?" : il peut y avoir éventuellement un tiret (? = 0 ou 1)

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Points : 118
    Points
    118
    Par défaut
    Citation Envoyé par Mitaka Voir le message
    dans l'expression ce qui est entre parenthèses sera récupéré
    [[:alnum:]]+ : au moins un alphanumérique à plusieurs
    "-?" : il peut y avoir éventuellement un tiret (? = 0 ou 1)
    merci mitaka , bien compris .un vrai prof !!

  10. #10
    Membre habitué Avatar de Mitaka
    Profil pro
    formaTRICE en informatique
    Inscrit en
    Avril 2003
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : formaTRICE en informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 192
    Points : 178
    Points
    178
    Par défaut
    de rien et merci pour le compliment ! mais je ne t'ai pas expliqué tout de suite donc c'est pas l'attitude d'un vrai prof

    n'oublie pas le tag résolu

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/07/2014, 09h15
  2. Réponses: 5
    Dernier message: 12/03/2014, 18h29
  3. Mettre chaque mot d'une phrase dans un tableau
    Par selmastar dans le forum Débuter
    Réponses: 9
    Dernier message: 02/04/2013, 09h23
  4. Réponses: 0
    Dernier message: 31/05/2011, 19h59
  5. Réponses: 10
    Dernier message: 15/10/2008, 12h21

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