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 :

1er mot en majuscules ainsi que initiales des suivants


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 132
    Points : 61
    Points
    61
    Par défaut 1er mot en majuscules ainsi que initiales des suivants
    Bonjour,
    Je cherche à obtenir avec cette chaine

    cHaine1 Chaine 2 ChAInE3 ce résultat:

    CHAINE1 Chaine2 Chaine3

    C'est à dire 1er mot en majuscules ainsi que l'initiale des suivants. Tout le reste en minuscules

    Merci d'avance de votre aide

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Bonjour

    Il existe des fonctions php comme strtoupper et ucwords pour ce genre de choses.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Tu fais un explode de ta chaine en plusieurs segments

    Premier segment en majuscules par strtoupper,

    Les autres avec une expression régulière.
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 636
    Points : 66 655
    Points
    66 655
    Billets dans le blog
    1
    Par défaut
    juste pour le fun:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    <?php
    header('Content-Type: text/html; charset=utf-8');
     
    function bar($matches){
    	$res= strtoupper($matches[0]);
    	return $res;
    }
     
     
    function foo($matches){
    	$res= ucfirst(strtolower($matches[0]));
    	return $res;
    }
     
    $chaine="cHaine1 Chaine2 ChAInE3";
     
    $reg2="#\w+#ui";
    $res=preg_replace_callback($reg2,"foo",$chaine);
     
     
    $reg="#^[a-z0-9]+#ui";
    $res=preg_replace_callback($reg,"bar",$res);
     
     
     
     
    ?>
    <!DOCTYPE html PUBLIC "-//WC//DTD XHTML 1.0 Strict//EN"
      "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
      <html xmlns="http://www.w3c.or/1999/xhtml" xml:lang="fr" lang="fr">
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
      <title> </tile>  
      </head>
      <body>
      <?php 
     echo $res;
    	?>
      </body>
      </html>
    il est possible egalement de le faire avec une seul reg et un explode dasn le callback suivi d'un arraymap
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/03/2007, 13h04
  2. Réponses: 4
    Dernier message: 24/11/2006, 14h19
  3. Réponses: 2
    Dernier message: 30/06/2006, 16h12
  4. Aff d'une variable je ne recupere que le 1er mot
    Par mitchb dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/06/2005, 18h06
  5. Mettre la première lettre des mots en majuscule
    Par seb.49 dans le forum Langage
    Réponses: 8
    Dernier message: 23/05/2003, 15h26

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