Ir para conteúdo
Fórum Script Brasil
  • 0

Sistema de filtro de palavras


lucke

Pergunta

Olá a todos do fórum!

Quem tem sites que tem caixas de comentários, ou até mesmo quem tem fóruns, precisa de um filtro como este, para bloquear a inserção de certas palavras.Este código verifica cada palavra vinda de campo de um formulário, e substitui com a função eregi_replace().

Este pequeno sistema, usa apenas 2 arquivos.

(Este exemplo usa um arquivo .TXT, para armazenar as palavras, mas é possível usar um banco de dados Mysql, mais é um pouco mais trabalhoso.)

Mãos a obra!

Primeiro, crie um arquivo chamado "filtro.txt", e coloque algumas palavras para fazer um teste, como no exemplo abaixo:

filtro.txt

palavrão1;

palavrão2;

(Não esqueça de dar quebra de linha para separar as palavras, e não se esqueça do ";" no final!)

Feito isto, crie um arquivo chamado "form_filtro.php", copie o código abaixo e cole nele.

form_filtro.php

<title>Filtro de palavras by Lucke</title>
<center>
<h2>Filtro de palavras by Lucke</h2><BR>
<?
if ($_GET['area']==filtrar){
if (!empty($texto)){
$filtroname = "filtro.txt"; //Filtro contendo a lista de palavras
$filtro = file($filtroname); //Arquivo de filtro em array
$linhas = count($filtro); //Contamos o número de linhas
$texto = "[PROIBIDO]";  //Texto a ser reposto
$fraselimpa = $_POST['texto']; //Texto limpo vindo do formulário
$frase = $_POST['texto']; //Texto que vai ser filtrado, vindo do formulário
for ($i = $linhas-1; $i>= 0; $i--) //Vamos percorrer a lista
  {
  $verificar = @explode(";",$filtro[$i]); //lemos até o;
  if (eregi($verificar[0], "".trim($frase)."")) //Caso exista uma palavra censurada
  $frase = eregi_replace($verificar[0], $texto, $frase); //Vamos substituír as palavras pela palavra "[Proibido]"
  } echo "<b>Frase normal:</b> $fraselimpa | <b>Frase filtrada:</b>$frase"; //Imprimos a frase filtrada na tela.
}
}
?>
<form name="filtro" method="POST" action="?area=filtrar">
<input type=text name=texto>
<input type=submit value=Filtrar!>
</form><BR>

Façam um teste, escrevendo as palavras que você colocou no filtro.Elas seram trocadas pela palavra "[PROIBIDO]".Caso queiram trocar, editem a variavel "$texto".

É isso pessoal, até a próxima.

Problemas, sugestões e elogios comentem ai.

Flws!

Editado por lucke
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...