Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17504
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Função PHP para trocar caracter acentuado por caracter sem acento

02-05-2015 16:46

Nesse post mostro uma função PHP para trocar os caracteres acentuados de uma string, frase, texto por caracteres sem acento.

O script também tem um opcional de trocar o espaço pelo traço.

A função é a seguinte:

<?php function sem_acentos($string, $tipo) { $string = strip_tags($string); $string = ereg_replace( "[ÁÀÂÃÄ]", "A", $string); $string = ereg_replace( "[áàâãäª]", "a", $string); $string = ereg_replace( "[ÉÈÊË]", "E", $string); $string = ereg_replace( "[éèêë]", "e", $string); $string = ereg_replace( "[ÍÌÎÏ]", "I", $string); $string = ereg_replace( "[íìîï]", "i", $string); $string = ereg_replace( "[ÓÒÔÕÖ]", "O", $string); $string = ereg_replace( "[óòôõöº]", "o", $string); $string = ereg_replace( "[ÚÙÛÜ]", "U", $string); $string = ereg_replace( "[úùûü]", "u", $string); $string = str_replace( "Ç", "C", $string); $string = str_replace( "ç", "c", $string); $string = str_replace( "´", "", $string ); $string = str_replace( "`", "", $string ); $string = str_replace( "~", "", $string ); $string = str_replace( "^", "", $string ); $string = str_replace( "¨", "", $string ); $string = str_replace( "\\", "", $string ); $string = str_replace( "*", "", $string ); $string = str_replace( "?", "", $string ); $string = str_replace( "!", "", $string ); $string = str_replace( "<", "", $string ); $string = str_replace( ">", "", $string ); $string = str_replace( "&lt", "", $string ); $string = str_replace( "&gt", "", $string ); $string = str_replace( "@", "", $string ); $string = str_replace( "(", "", $string ); $string = str_replace( ")", "", $string ); $string = str_replace( "[", "", $string ); $string = str_replace( "]", "", $string ); $string = str_replace( "{", "", $string ); $string = str_replace( "}", "", $string ); $string = str_replace( "+", "", $string ); $string = str_replace( "$", "", $string ); $string = str_replace( ";", "", $string ); $string = str_replace( ":", "", $string ); $string = str_replace( "'", "", $string ); $string = str_replace( ".", "-", $string ); $string = str_replace(",", "", $string); $string = str_replace("\"", "", $string); $string = str_replace("(", "", $string); $string = str_replace(")", "", $string); $string = str_replace("/", "-", $string); $string = str_replace("=", "", $string); $string = str_replace("%", "", $string); // a partir de 7 - ele limpa a string if($tipo=="-") { $string = str_replace( " ", "-", $string ); $string = str_replace("--", "", $string); $string = str_replace("---", "", $string); $string = preg_replace("[-------]", "------", $string); $string = preg_replace("[------]", "-----", $string); $string = preg_replace("[-----]", "----", $string); $string = preg_replace("[----]", "---", $string); $string = preg_replace("[---]", "--", $string); $string = preg_replace("[--]", "-", $string); // retira o - quando for o primeiro caracter if($string[0]=="-") { $string = substr($string, 1); } // retira o - quando for o último caracter $last = $string[strlen($string)-1]; if($last=="-") { $string = substr($string, 0, -1); } } return $string; } ?>

Se você quer trocar os caracteres acentuados e o espaço pelo traço, chame a função assim:

// TROCA O ESPAÇO PELO TRAÇO echo sem_acentos("é isso ai", "-");

Se você não precisa substituir os espaços, chame assim:

// NÃO TROCA O ESPAÇO PELO TRAÇO echo sem_acentos("é isso ai", "");

2
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado