Função para remover acentuação de uma string
Publicado por Roberto Francisco 22/08/2003
[ Hits: 13.245 ]
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
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
Instalando partes faltantes do Plasma 6









