Função para remover acentuação de uma string
Publicado por Roberto Francisco 22/08/2003
[ Hits: 13.189 ]
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();
?>
WShell - Comandos do sistema via web
Executando comandos através do PHP
Fast Template CVS Revision 1.2.2
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)









