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.096 ]
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 ?>
Script para noticias no formato rss
Transformar datas para gravar no banco de dados (MySQL, Postgres e outros)
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)