Majuscule sur Première Lettre chaine php

Résolu/Fermé
pasdeprob Messages postés 98 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 22 juin 2012 - 4 août 2009 à 11:16
Emsiko Messages postés 1 Date d'inscription vendredi 31 octobre 2014 Statut Membre Dernière intervention 31 octobre 2014 - 31 oct. 2014 à 12:33
Bonjour,
J'ai un petit soucis,
le site sur lequel je travail il ya une chaine de caractère récupérée de la base de donnée qui se nomme "lieu"
pour etre affichée sur une page dans un tableau.
je voudrais que cette chaine de caractère est obligatoirement une Majuscule sur la première lettre comment puis-je faire ?
voilà le code de la page ou doit s'afficher la chaine de caractère récupérée de la bdd :

"<td colspan="2" valign="top" bordercolor="#ffffff"><div align="left"><font size="2" face="Arial, Helvetica, sans-serif" color="#6699FF">
 
<? if ($recup['lieu']!="")
{ ?>
<? echo $recup['lieu'] ?>
<?
} ?>
</font></div></td>
"
PS : ce n'est pas moi qui est écrit ce code je ne fait que retravailler les pages
A voir également:

12 réponses

Arnaud, il souhaite que la première lettre de la phrase soit en majuscule, non pas la première lettre de chaque mot.

La bonne fonction PHP est donc :
ucfirst ($string)
17
string ucwords ( string str )

rien de plus
Arnaud
7
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 185
4 août 2009 à 11:22
Heu
je dirais quelquechose comme :

$chaine= strtoupper($recup['lieu'][0]) . substr($recup['lieu'], 1 );
echo $chaine;
3
philodido Messages postés 2 Date d'inscription lundi 13 février 2012 Statut Membre Dernière intervention 23 mai 2012 3
27 févr. 2012 à 13:02
string ucwords ( string $str ) n'est pas la bonne réponse car cette fonction retourne la chaîne str après avoir mis en majuscule la première lettre de TOUS LES MOTS.

La bonne réponse est : string ucfirst ( string $str )
Retourne la chaîne str après avoir remplacé le premier caractère par sa majuscule, si le premier caractère est alphabétique.
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
"<td colspan="2" valign="top" bordercolor="#ffffff"><div align="left" style="text-transform: capitalize;"><font size="2" face="Arial, Helvetica, sans-serif" color="#6699FF">

<? if ($recup['lieu']!="")
{ ?>
<? echo $recup['lieu'] ?>
<?
} ?>
</font></div></td>
"
2
Archeus01 Messages postés 1567 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 9 juin 2022 447
9 nov. 2009 à 17:04
Bonjour,

Voici une solution CSS :

.firstletter:first-letter{ text-transform: uppercase; }

<div class="firstletter">le premier l de ma phrase sera en majuscule.</div>

Cdt,
Archeus
2
pasdeprob Messages postés 98 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 22 juin 2012 2
4 août 2009 à 11:35
Merci jeangilles

ton code je le met carrement a la place du code php déjà present?


et monsieur Anonyme votre code : style="text-transform: capitalize;" ca va tout mettre en Majuscule non?
1
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 185
4 août 2009 à 11:36
Tu le mettrais à la place de ta ligne <? echo $recup['lieu'] ?>

et le text-transform: capitalize; ca marche aussi, je pense jamais à des solutions comme celle-ci, pourtant elle est plus logique ^^
1
"et monsieur Anonyme votre code : style="text-transform: capitalize;" ca va tout mettre en Majuscule non?"


Bah non en fait, ca met juste une majuscule au premier caractère...

En plus il parait que c'est "plus logique" !! lol


Bon courage en tout cas
1
pasdeprob Messages postés 98 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 22 juin 2012 2
4 août 2009 à 11:52
Donc je vient de tester , la version "css" de monsieur anonyme ^^ ben ca mets des majuscule partout a chaque mot, donc pas top ici vu que dès fois j'ai du long texte dans les chaines.


Par contre la fonction php fonctionne mieux c vraiment la première lettre du Premier mot qui se met en majuscule, il ne me reste plus qu'a prendre mon courage a deux mains et a aller changer les 400 valeurs dans la base de données qui contiennent des noms propre nom de ville etc. à l'intérieur des chaines ! o_O

Ca sera un peu plus rapide grace a toi jeangilles merci ! u_n
1
Emsiko Messages postés 1 Date d'inscription vendredi 31 octobre 2014 Statut Membre Dernière intervention 31 octobre 2014 1
31 oct. 2014 à 12:33
Coucou. J'ai eu le même souci et la solution est beaucoup plus simple. Je viens tard je sais, mais peut-être que ça pourra servir à des nuls comme moi, qui ont été bien contents de trouver cette réponse.
Moi ça m'énervait CONSIDERABLEMENT cette histoire ! La "cap" (majuscule) au premier de chaque mot, ça convient pour les sigles (Société Nationale De Ceci ou Cela - et encore, "de" n'a pas besoin de majuscule ici) ou pour quelques appellations spécifiques, mais pour un titre de rubrique dans un blog par exemple, ça freine la lecture plus qu'autre chose, ce qui n'est pas recommandé !!!
surtout si le titre fait plus de 3 mots.

alors voilà : dans ton code de texte CSS, au niveau text-transform, il te suffit de marquer : none.
En marquant "none", ton texte apparaître exactement tel que tu l'as écrit
Ton texte aura cette apparence
et pas
Ton Texte Aura Cette Apparence (!...)

C'set tout ! Pas d'usine à gaz comme décrit plus haut (je ne critique pas les réponses, elles émanent sûrement de gens qui s'y connaissent bien plus que moi, mais parfois, l'avis d'un "nul" répond mieux à ce qu'on se demande, car ce "nul" se met plus facilement dans notre peau... ;-)
En espérant avoir aidé quiconque chercherait à résoudre ce problème...
Emsiko
1
Voulez-vous convertir rien que le premier caractère de la chaîne en Majuscule et les autres en minuscule (chaine en un mot svp)?
Exemple kiNSHaSA ou KInshaSA qui donneront Kinshasa.
MATEMPa ou matemPA qui donneront Matempa
Pour cela combiner les deux fonctions PHP : strtolower() et ucfirst().
strtolower() : Converti toute une chaîne en minuscule.
ucfirst() : Converti rien que le premier caractère en minuscule.
Donc nous aurons tout d'abord à appliquer la fonction strtolower() qui mettra toute la chaîne en minuscule et ensuite ucfirst() qui ne changera que le premier caractère en majuscule.
Nos exemples donneront :

$chaine1='kiNSHaSA' ;
$chaine2='KInshaSA' ;
$chaine3='MATEMPa' ;
$chaine4='MATEMPa' ;
$converti1= ucfirst(strtolower($chaine1)) ;
$converti2= ucfirst(strtolower($chaine2)) ;
$converti3= ucfirst(strtolower($chaine3)) ;
$converti4= ucfirst(strtolower($chaine4)) ;
echo $converti1.'<br>'.$converti2.'<br>'.$converti3.'<br>'.$converti4 ;
echo '<br>Le tour est joué.' ;
0