Converte para maiúsculas a primeira letra de cada palavra, resolvendo o problema de acentos
Publicado por Sérvulo dos Anjos Meneses (última atualização em 26/09/2014)
[ Hits: 12.468 ]
Homepage: www.megasam.com.br
A função em PHP resolve o problema de converter para maiúsculas o primeiro caractere de cada palavra, onde não conseguia converter quando iniciava com vogal com acento. Esta função resolve esse problema.
Melhorem o script e postem aqui.
<?php
function converte($nome)
{
// Converte toda a string para minúscula
$nome = strtr(strtolower($nome),"ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÜÚÞß","àáâãäåæçèéêëìíîïðñòóôõö÷øùüúþÿ");
//Usamos a explode() para separar a string por palavras
$palavra=explode(" ",$nome);
// Percorremos por cada palavra
for ($i=0; $i < count($palavra) ; $i++)
    {
    // Com o if elimine as palavras que NÃO poderão ter a primeira letra em maiúscula
    if ($palavra[$i] != "da" && $palavra[$i] != "de" && $palavra[$i] != "do" && $palavra[$i] != "das" && $palavra[$i] != "dos")
       {
       $palavra[$i] = ucwords($palavra[$i]);// ucwords - Converte para maiúsculas o primeiro caractere de cada palavra exceto as palavras que iniciarem com acento
       $primeira  = substr( $palavra[$i], 0, 1);// Captura o primeiro caractere da palavra
       $resto  = substr( $palavra[$i], 1, 100);// Captura do segundo caractere da palavra em diante
       //str_replace — Substitui todas as ocorrências da string de procura com a string de substituição
       //strtr — Traduz certos caracteres
       //Em seguida se a primeira letra da palavra tiver acento, será convertida para maiúscula com acento
       $primeira = str_replace($primeira,strtr($primeira,"àáâãäåæçèéêëìíîïðñòóôõö÷øùüúþÿ","ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÜÚÞß"),$primeira);
       // Junte a primeira letra convertida com o restante da palavra.
       $palavra[$i] = $primeira.$resto;
       }
    // Junte novamente as palavras em uma frase com as primeiras letras convertidas em maiúsculas. E com a acentuação correta.
    $nomeconvertido = $nomeconvertido." ".$palavra[$i];
    }
return $nomeconvertido;
};
$nometeste = "ÍLDA JÚLIA DE ASSUNÇÃO DOS SANTOS";
echo "$nometeste"; //Exibir STRING ORIGINAL
echo "<br>";
echo converte($nometeste); //Exibir STRING CONVERTIDA
?>
Função para gerar números aleatórios
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Instalação dualboot Windows 11 e Debian 13 (0)
Programa fora de escala na tela do pc (33)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (0)









