Função para remover acentuação de uma string
Publicado por Roberto Francisco 22/08/2003
[ Hits: 12.937 ]
Função que ajuda na programação de um sistema de busca. Aceito colaboração de melhoria.
<?php /******************************************************************************* @CRIAÇÃO.....: 21/08/2003 @AUTOR.......: BobFrank <rsfranc@yahoo.com.br> @LINGUAGEM...: PHP @VERSÃO......: 4.0 @OBJETO......: Remover acentos de string. @NOME FÍSICO.: strSemAcentos.php @FUNÇÃO......: Recebe string, modo opcional. Retorna alterada, mesma ou nada. @STATUS......: [] Construção, [X] Operação, [] Manutenção, [] Fora de uso ******************************************************************************** @MANUTENÇÕES ------------- @DATA........: @PROGRAMADOR.: @DESCRIÇÃO...: @TIPO........: [] Correção, []Melhoria, []Integração @MOTIVO......: ******************************************************************************** */ function strSemAcentos($string="", $mesma=1) { if($string != "") { $com_acento = "à á â ã ä è é ê ë ì í î ï ò ó ô õ ö ù ú û ü À Á Â Ã Ä È É Ê Ë Ì Í Î Ò Ó Ô Õ Ö Ù Ú Û Ü ç Ç ñ Ñ"; $sem_acento = "a a a a a e e e e i i i i o o o o o u u u u A A A A A E E E E I I I O O O O O U U U U c C n N"; $c = explode(' ',$com_acento); $s = explode(' ',$sem_acento); $i=0; foreach($c as $letra) { if(ereg($letra, $string)) { $pattern[] = $letra; $replacement[] = $s[$i]; } $i=$i+1; } if(isset($pattern)) { $i=0; foreach($pattern as $letra) { $string = eregi_replace($letra, $replacement[$i], $string); $i=$i+1; } return $string; # retorna string alterada } if ($mesma != 0) { return $string; # retorna a mesma string se nada mudou } } return ""; # sem mudança retorna nada } // // Exemplos: print "<br>strSemAcentos('É mamão com açucar!'); = " .strSemAcentos("É mamão com açucar!"); print "<br>strSemAcentos('Teste sem acentos'); = " .strSemAcentos("Teste sem acentos"); print "<br>strSemAcentos('Teste sem acentos',0); = " .strSemAcentos("Teste sem acentos",0); print "<br>strSemAcentos(); = " .strSemAcentos(); ?>
Formatando data de yyyy/mm/dd para dd/mm/yyyy
Exemplo de recursividade: gerador de sequências de tamanho e soma dos elementos fixos
Gerador de Thumbnail (miniatura)
Widgets intermediários em PHP-GTK
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
Arch Linux - Guia para Iniciantes (2)
Problemas ao instalar o PHP (11)
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)