Função para remover acentuação de uma string
Publicado por Roberto Francisco 22/08/2003
[ Hits: 13.039 ]
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(); ?>
Gerador de Thumbnail (miniatura)
Data em extenso para Cabeçalho
Script que efetua cálculos estatísticos
Micro-script confirmar exclusão
Crivo de Eratóstenes Simples em PHP
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Solução rápida para o problema do Network Manager conectar mas não navegar
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
Como rodo essa suinaria? [RESOLVIDO] (6)
Problemas latentes de performance no Ubuntu 25.04 (1)