Função para remover acentuação de uma string
Publicado por Roberto Francisco 22/08/2003
[ Hits: 13.276 ]
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();
?>
Script que efetua cálculos estatísticos
Criando um menu de paginação de resultados com algumas funcionalidades
Entendendo os operadores de atribuição
gerador de tabelas em html v2.2
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
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
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Conky, alerta de temperatura alta (10)
Assisti Avatar 3: Fogo e Cinzas (3)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (42)









