Função para remover acentuação de uma string
Publicado por Roberto Francisco 22/08/2003
[ Hits: 13.201 ]
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();
?>
Formatar CPF e CNPJ para formato user friendly
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Como personalizar o lxde? [RESOLVIDO] (5)
Flatpaks não funcionam após atualizar pelo Gerenciador de Atualizações... (3)
Erro no suitable vídeo mode (15)
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (2)









