Removendo caracteres especiais com php

Hoje vou mostrar como é simples remover caracteres especiais com uma função default do php. Podemos utilizar diversas formas de funções gigantescas como essa abaixo, para remover os caracteres de uma string.

function RemoveAcentos($Msg){
 $a = array(
 "[ÂÀÁÄÃ]"=>"A",
 "[âãàáä]"=>"a",
 "[ÊÈÉË]"=>"E",
 "[êèéë]"=>"e",
 "[ÎÍÌÏ]"=>"I",
 "[îíìï]"=>"i",
 "[ÔÕÒÓÖ]"=>"O",
 "[ôõòóö]"=>"o",
 "[ÛÙÚÜ]"=>"U",
 "[ûúùü]"=>"u",
 "ç"=>"c",
 "Ç"=>"C");
 return preg_replace(array_keys($a), array_values($a), $Msg);
 }
 echo RemoveAcentos("Amanhã não irei caçar");

Ou então desta maneira,

function trataTxt($var) {
 $var = strtolower($var);
 $var = ereg_replace("[áàâãª]","a",$var);
 $var = ereg_replace("[éèê]","e",$var);
 $var = ereg_replace("[óòôõº]","o",$var);
 $var = ereg_replace("[úùû]","u",$var);
 $var = str_replace("ç","c",$var);
 return $var;
 }

As duas maneiras acima funcionam, porém, porque não usar uma maneira simples, e default do php?

$strig = iconv('UTF-8', 'ASCII//TRANSLIT', $string);

Esta maneira é a mesma coisa que as duas funções acima, só que de uma maneira mais limpa, e de certa forma correta.

Esta é uma maneira simples de remover caracteres especiais de uma string, só lembrando que, palavras com acento ou cedilha ele troca pela palavra sem o caracter,
pontos de interrogação, virgulas, parênteses ou qualquer outro, ele simplesmente remove.

Ta ai a dica, espero que aproveitem melhor o seus códigos.

Até a próxima.

Facebook Twitter Linkedin Digg Delicious Reddit Stumbleupon Tumblr Posterous