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: 11.705 ]
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 ?>
Converte um texto em seu respectivo codigo binario
PHP - Remover acentos e caracteres especiais
Transformar datas para gravar no banco de dados (MySQL, Postgres e outros)
Nenhum comentário foi encontrado.
Como agendar um backup automático do PostgreSQL no Cron evitando o problema de senha
Como preparar o Vim/Neovim para corrigir ortografia em português
Dark Web e Malwares na internet, quanto custa?
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Exportação de histórico do Brave para o Firefox
Remapear e/ou trocar teclas no Linux
Alexabolada casa comigo por favor, larga o Fábio e o VOL e vem comigo!... (12)
synalogy servidor de arquivos (2)
Atalho ctrl + Alt + T não funciona (2)
Não consigo fazer o adptador para cabo de rede funcionar (17)