nome formatado com maiuscula

Primeira letra em maiúscula de nomes próprios no português

Precisava atribuir um padrão para os nomes inseridos através de um formulário de cadastro. Cada um tem seu jeito de escrever. Uns usam maiúscula o tempo todo, outros escrevem tudo em minúsculas e ainda é possível uma infinidade de variações. Por isso, se ficar por conta dos usuários de um sistema, a nossa base de dados vira uma bagunça visual. Cabe ao programador o trabalho de padronizar a forma como será armazenada e exibida os dados relativo aos nomes de um cadastro.

Pensando nisso chegamos a este código resumido mas eficiente. Este código transforma a primeira letra de cada nome inserido em um campo ‘nome’ para maiúscula mantendo preposições presentes em alguns nomes na lingua portuguesa em minúscula.

A função do PHP que transforma a primeira letra de uma palavra em maiúscula vai transformar todas as palavras de um nome, mas sabemos que em nomes próprios, as palavras do, da, de, e, das e dos continuam em minuscula e se queremos padronizar nossos dados precisamos de uma função que faça isso para nós, independente da forma que o usuário digita o nome. Qualquer forma que for digitado o seguinte nome vai produzir o mesmo resultado:

alfredo da fonseca e silva => Alfredo da Fonseca e Silva 
ALFREDO DA FONSEDA E SILVA => Alfredo da Fonseca e Silva 
ALfredo da FonSeca e siILVA => Alfredo da Fonseca e Silva

O código

Ai vai o que é importante, o código:

primeira-letra-nome-maiuscula
$value = 'élida da fONSEca DAS DORES e oliveira';

$palavra=explode( " ", mb_convert_case($value, MB_CASE_LOWER, 'UTF-8') );

$nomeconvertido = '';

for ($i=0; $i < count($palavra) ; $i++)
{
    if ($palavra[$i] != "da" && $palavra[$i] != "de" && $palavra[$i] != "do" && $palavra[$i] != "das" && $palavra[$i] != "dos" && $palavra[$i] != "e")
    {
        $palavra[$i] = mb_convert_case($palavra[$i], MB_CASE_TITLE, 'UTF-8');
    }
    $nomeconvertido = $nomeconvertido." ".$palavra[$i];
}

echo $nomeconvertido;

Espero que tenha sido útil para você.

Publicado por

Lisanias Loback

Pastor na Igreja Casa de Oração Para Todos os Povos, trabalhando na área social no NUSELON - Núcleo Social Evangélico de Londrina, uma ONG que cuida de crianças em situação de riscos. Atua na área de ensino teológico e na área de TI. É formado em Teologia pela UNIFIL e é técnico em contabilidade.

Nos encoraje deixando seu comentário aqui.