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 des majuscules au début de chaque mot [FAQ]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2003
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 22
    Par défaut Mettre des majuscules au début de chaque mot
    Bonjour,
    Je souhaite créer une fonction qui mette des majuscules au début de chaque mot composé envoyé en paramètre.
    Ex : function maFonction('Bréal-sous-montfort') doit renvoyé "Bréal-sous-Montfort"

    Comment faire ? (en PHP et avec les regex)
    Merci de votre aide !

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Par défaut
    Tu peux faire un explode au niveau des - et à chaque mots que tu récupères ajouter un ucfirst().

    Le problème c'est que ça va te marqué : Truc-Sous-Machin et non Truc-sous-Machin.

    P.s : Je ne vois pas comment faire ça avec des ReGex.

    [EDIT] : Tu peux aussi faire quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $message = 'test-test2-test3';
    $message = str_replace('-', ' ', $message); 
    $message = ucwords($message);
    $message = str_replace(' ', '-', $message);
    C'est pas super propre, mais l'idée est là.

  3. #3
    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
    Par défaut
    Ou tout simplement utiliser la fonction php : ucfirst qui le fait déjà pour toi

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Par défaut
    Citation Envoyé par Kerod
    Ou tout simplement utiliser la fonction php : ucfirst qui le fait déjà pour toi
    Ba non .

    Elle met la première ... Car une chaine du type : test-test1-test2-[...] n'est considéré que comme un seul et unique mot.

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 466
    Par défaut
    Lol

    C'est donc ucwords
    qui te permetrat ceci

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Par défaut
    Citation Envoyé par spawntux
    Lol

    C'est donc ucwords
    qui te permetrat ceci
    Non plus :'), et pour la même raison qu'évoqué plus haut

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/06/2014, 10h22
  2. Majuscule au début de chaque mot SAUF certains
    Par fafa44 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 28/03/2014, 00h19
  3. Réponses: 7
    Dernier message: 21/10/2010, 13h30
  4. [RegEx] mettre en majuscule chaque mot d'une chaine
    Par bigs3232 dans le forum Langage
    Réponses: 9
    Dernier message: 20/05/2010, 09h48

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