Majuscule sur Première Lettre chaine php

[Résolu/Fermé]
Signaler
Messages postés
98
Date d'inscription
jeudi 28 août 2003
Statut
Membre
Dernière intervention
22 juin 2012
-
Messages postés
1
Date d'inscription
vendredi 31 octobre 2014
Statut
Membre
Dernière intervention
31 octobre 2014
-
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

string ucwords ( string str )

rien de plus
Arnaud
Messages postés
816
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
17 juillet 2012
183
Heu
je dirais quelquechose comme :

$chaine= strtoupper($recup['lieu'][0]) . substr($recup['lieu'], 1 );
echo $chaine;
Messages postés
2
Date d'inscription
lundi 13 février 2012
Statut
Membre
Dernière intervention
23 mai 2012
3
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.
"<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>
"
Messages postés
1566
Date d'inscription
mercredi 3 octobre 2007
Statut
Membre
Dernière intervention
23 mars 2020
412
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
Messages postés
98
Date d'inscription
jeudi 28 août 2003
Statut
Membre
Dernière intervention
22 juin 2012
2
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?
Messages postés
816
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
17 juillet 2012
183
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 ^^
"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
Messages postés
98
Date d'inscription
jeudi 28 août 2003
Statut
Membre
Dernière intervention
22 juin 2012
2
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
Messages postés
1
Date d'inscription
vendredi 31 octobre 2014
Statut
Membre
Dernière intervention
31 octobre 2014
1
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
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é.' ;