Hoje vamos aprender a fazer um Filtro de palavras inapropriadas com substiuição de palavras. Poderá ser implementado no seu sistema de mural de recados, comentários de artigos ou fotos, enfim vamos ao que interessa.
Nessa parte vamos criar uma tabela no banco de dados para armazenar as palavras que queremos filtrar.
CREATE TABLE IF NOT EXISTS `filtro_palavras` ( `Codigo` int(4) NOT NULL AUTO_INCREMENT, `MsgErrada` varchar(200) DEFAULT NULL, `MsgCorreta` varchar(200) DEFAULT '--', PRIMARY KEY (`Codigo`), UNIQUE KEY `MsgErrada` (`MsgErrada`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='armazena filtros de palavras' AUTO_INCREMENT=1 ;
Agora vamos criar a função que vai fazer todo o trabalho.
Crie um arquivo chamado filtro.php e coloque o codigo abaixo.
//conexão com o banco de dados $conexao = mysql_connect('servidor', 'usuario', 'senha') or die(mysql_error()); //seleciona banco de dados $db = mysql_select_db('banco', $conexao) or die(mysql_error()); // função para Filtrar palavras inapropriadas function filtro($mensagem) { if ($mensagem) { $resultado = mysql_query("SELECT * FROM filtro_palavras"); while ($mostra = mysql_fetch_array($resultado)) { $mensagem= str_replace($mostra['MsgErrada'], $mostra['MsgCorreta'], $mensagem); } } return $mensagem; } ?
Para chamar a função dentro do seu código siga o exemplo abaixo:
//inclue a função include('filtro.php'); //chama a função filtro("frase mural recado")
Se tiver alguma duvida, é so postar.