Remover Acentuação e Caracteres Especiais com PHP

 
Trabalhar com PHP em português não é uma tarefa das mais simples. Isso porque no inglês, a linguagem nativa do PHP, não existem acentos e caracteres especiais como o ç ou ü.

Trabalhar com PHP em português não é uma tarefa das mais simples. Isso porque no inglês, a linguagem nativa do PHP, não existem acentos e caracteres especiais como o ç ou ü. Isso deixa qualquer louco da vida!

Trabalhar com PHP em português não é uma tarefa das mais simples. Isso porque no inglês, a linguagem nativa do PHP, não existem acentos e caracteres especiais como o ç ou ü.

De modo que é uma tarefa ingrata muitas vezes para os programadores brasileiros e portugueses criar qualquer tipo de aplicação ou fazer uma integração do site do cliente com uma outra aplicação qualquer devido a incompatibilidade de codificação.

Quando não se está usando utf-8, basta usar esta função que seus problemas estarão resolvidos:

<?php
//retirar acentuação
function remover($a){
$a = eregi_replace("[àáâäã]","a",$a);
$a = eregi_replace("[èéêë]","e",$a);
$a = eregi_replace("[ìíîï]","i",$a);
$a = eregi_replace("[òóôöõ]","o",$a);
$a = eregi_replace("[ùúûü]","u",$a);
$a = eregi_replace("[ÀÁÂÄÃ]","A",$a);
$a = eregi_replace("[ÈÉÊË]","E",$a);
$a = eregi_replace("[ÌÍÎÏ]","I",$a);
$a = eregi_replace("[ÒÓÔÖÕ]","O",$a);
$a = eregi_replace("[ÙÚÛÜ]","U",$a);
$a = eregi_replace("ç","c",$a);
$a = eregi_replace("Ç","C",$a);
$a = eregi_replace("ñ","n",$a);
$a = eregi_replace("Ñ","N",$a);
$a = str_replace("´","",$a);
$a = str_replace("`","",$a);
$a = str_replace("¨","",$a);
$a = str_replace("^","",$a);
$a = str_replace("~","",$a);
return $a;}
?>

Contudo, quando se está usando utf-8 a função acima não funcionará e você terá problemas. Por esta razão, a função abaixo criada pelo Marco Carvalho deverá ser usada nesses casos.

 
<?php
function remover($str, $enc = "UTF-8"){

$acentos = array(
'A' => '/&Agrave;|&Aacute;|&Acirc;|&Atilde;|&Auml;|&Aring;/',
'a' => '/&agrave;|&aacute;|&acirc;|&atilde;|&auml;|&aring;/',
'C' => '/&Ccedil;/',
'c' => '/&ccedil;/',
'E' => '/&Egrave;|&Eacute;|&Ecirc;|&Euml;/',
'e' => '/&egrave;|&eacute;|&ecirc;|&euml;/',
'I' => '/&Igrave;|&Iacute;|&Icirc;|&Iuml;/',
'i' => '/&igrave;|&iacute;|&icirc;|&iuml;/',
'N' => '/&Ntilde;/',
'n' => '/&ntilde;/',
'O' => '/&Ograve;|&Oacute;|&Ocirc;|&Otilde;|&Ouml;/',
'o' => '/&ograve;|&oacute;|&ocirc;|&otilde;|&ouml;/',
'U' => '/&Ugrave;|&Uacute;|&Ucirc;|&Uuml;/',
'u' => '/&ugrave;|&uacute;|&ucirc;|&uuml;/',
'Y' => '/&Yacute;/',
'y' => '/&yacute;|&yuml;/',
'a.' => '/&ordf;/',
'o.' => '/&ordm;/');

   return preg_replace($acentos,
                       array_keys($acentos),
                       htmlentities($str,ENT_NOQUOTES, $enc));
}
?>

Me siga no Twitter para ficar informado sobre o blog.

Sobre Hellston Linhares

Profissional que trabalha exclusivamente através da internet a vários anos e possui muita experiência na área de internet marketing, monetização, SEO, links patrocinados, programas de afiliados, sites de membro, comércio eletrônico, programação, redes sociais e "estratégias ninja" para fazer qualquer coisa na web! Além de tudo isso, gosto de fazer amizades e ajudar os amigos a montarem seus negócios na internet!