Removendo caracteres especiais com php
Ola, hoje vou mostrar como é simples remover caracteres especiais com uma função default do php.
É muito facil achar na internet, pessoas que criam 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;
}
echo "Texto com acento:" . "á é í ó ú";
echo "<br>";
echo "Texto sem acento:" . trataTxt("á é í ó ú");
?>
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);
?>
Leia mais sobre ICONV no br2.php.net
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.
about 4 months ago
nossa essa dica foi de mais, me ajudou muito, sou novo ainda e meus codigos estavam ficando muito grandes essa dica vou usar para sempre vlw abraço