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".
Pergunta
lucke
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
(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
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 luckeLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.