Categorias

Formatação de nomes próprios em PHP

O intuito desta função é pegar um nome qualquer (nome de pessoa) e padronizá-lo, por exemplo:
o nome ESTEVÃO NORBERTO E SILVA ou EstEvÃo NORBERTO e SILVA ou estevão norberto e silva com esta função será formatado para Estevão Norberto e Silva.

É isso aí espero que ajudem.

function tratar_nome ($nome) {
    $nome = strtolower($nome); // Converter o nome todo para minúsculo
    $nome = explode(" ", $nome); // Separa o nome por espaços
    for ($i=0; $i < count($nome); $i++) {

        // Tratar cada palavra do nome
        if ($nome[$i] == "de" or $nome[$i] == "da" or $nome[$i] == "e" or $nome[$i] == "dos" or $nome[$i] == "do") {
            $saida .= $nome[$i].' '; // Se a palavra estiver dentro das complementares mostrar toda em minúsculo
        }else {
            $saida .= ucfirst($nome[$i]).' '; // Se for um nome, mostrar a primeira letra maiúscula
        }

    }
    return $saida;
}