Precisa converter a primeira letra de um texto para maiúsculo em PHP? Acompanhe este artigo e saiba como fazer.
A forma mais simples de converter a primeira letra para maiúsculo em PHP é usando a função ucfirst()
, porém existem alguns problemas com essa função:
echo ucfirst('ricardo'); // Ricardo
echo ucfirst('ágata'); // ágata
A função ucfirst vai funcionar para a string "ricardo", mas não vai funcionar para "ágata". Isso porque o PHP não reconhece o caractere "á" como uma letra do alfabeto.
Existem algumas formas de solucionar este problema, e uma delas que eu deixo aqui como sugestão é usar a função mb_strtoupper()
para converter somente a primeira letra em maiúsculo, e depois concatenar o restante da string. Veja a função abaixo:
function capitalize($str = '') {
if (gettype($str) !== 'string') {
return '';
}
return mb_strtoupper(mb_substr($str, 0, 1)) . mb_substr($str, 1);
}
echo capitalize('ágata'); // Ágata
A função acima, primeiro verifica se o argumento passado é do tipo string e depois faz o retorno da primeira letra maiúscula concatenada do restante da string, e ele faz essa separação através de mb_substr()
.
Primeira letra maiúscula com CSS
Lembrando que se você precisa mostrar a primeira letra maiúscula no front-end, apenas para fins estéticos, também pode usar a propriedade text-transform
do próprio CSS:
.capitalized {
text-transform: capitalize;
}
<p class="capitalized">ricardo</p> <!-- Ricardo -->