PHP: Primeira letra maiúscula em uma String (Exemplos)

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 -->

Este artigo foi útil pra você?

Ricardo Metring

Ricardo Metring

Sou desenvolvedor full stack e co-fundador da Criar.io.
Trabalho há 10 anos com programação e sempre interessado em aprender mais.

Artigos relacionados