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.277 ]
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 ?>
Formatar CPF e CNPJ para formato user friendly
Gerenciador de Escola de Informática
Nenhum comentário foi encontrado.
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Solução rápida para o problema do Network Manager conectar mas não navegar
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
Como instalar o KDE3 em Distros Atuais ou Quase (2)
preciso de ajuda aqui... [RESOLVIDO] (12)
Não acesso a conta do Banco do Brasil pelo Google Chrome [RESOLVIDO] (5)