Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
eae galera....cara, eu to precisando fazer um filtro de palavras para um Mural de Recados. Estou querendo fazer isso justamente pq tem uns gringos que tipo cadastra meu site em robos, que fica lancando os recados la automaticamente...... o esquema é o seguinte....Qeria fazer uma relação de palavras....E se alguma destas palavras estiverem incluidas no meu textarea...Após eu clicar em ENVIAR RECADO, o recado não seria gravado no DB...ValeuUm Abraço....
cara, valeu pela dica, mas curte só, eu to tendando fazer isso usando extensões do deeamweaver.....então meu conhecimento de PHP é bem limitado....... meu código ta da seguinte forma, aonde eu colocaria esse script que tu me falou?
> <?phpfunction GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue; switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue;}$editFormAction = $_SERVER['PHP_SELF'];if (isset($_SERVER['QUERY_STRING'])) { $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);}if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { $insertSQL = sprintf("INSERT INTO mural (nome, texto, `data`, ip) VALUES (%s, %s, %s, %s)", GetSQLValueString($_POST['nome'], "text"), GetSQLValueString($_POST['texto'], "text"), GetSQLValueString($_POST['data'], "text"), GetSQLValueString($_POST['ip'], "text")); mysql_select_db($database_conn, $conn); $Result1 = mysql_query($insertSQL, $conn) or die(mysql_error()); $insertGoTo = "recados_inicial.php"; if (isset($_SERVER['QUERY_STRING'])) { $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?"; $insertGoTo .= $_SERVER['QUERY_STRING']; } header(sprintf("Location: %s", $insertGoTo));}$maxRows_rsRecados = 10;$pageNum_rsRecados = 0;if (isset($_GET['pageNum_rsRecados'])) { $pageNum_rsRecados = $_GET['pageNum_rsRecados'];}$startRow_rsRecados = $pageNum_rsRecados * $maxRows_rsRecados;mysql_select_db($database_conn, $conn);$query_rsRecados = "SELECT * FROM mural ORDER BY registro DESC";$query_limit_rsRecados = sprintf("%s LIMIT %d, %d", $query_rsRecados, $startRow_rsRecados, $maxRows_rsRecados);$rsRecados = mysql_query($query_limit_rsRecados, $conn) or die(mysql_error());$row_rsRecados = mysql_fetch_assoc($rsRecados);if (isset($_GET['totalRows_rsRecados'])) { $totalRows_rsRecados = $_GET['totalRows_rsRecados'];} else { $all_rsRecados = mysql_query($query_rsRecados); $totalRows_rsRecados = mysql_num_rows($all_rsRecados);}$totalPages_rsRecados = ceil($totalRows_rsRecados/$maxRows_rsRecados)-1;$ipzica = getenv("REMOTE_ADDR");?>Você tem que fazer essa verificação antes de criar a variável $insertSQL.
Para mais detalhes sobre foreach e preg_match:
Abraços,
Beraldo
valeuuu garoto.....um abraço
eae galera....obrigado ai Beraldo pelas AAjudas, e o resultado foi
> //INICIO DO FILTRO $texto = $_POST['texto']; function Filtro($texto){ $filtro = array ( "viagra" => "xxx", "cialis" => "xxx", "---" => "xxx", "href" => "xxx" ); foreach ($filtro as $errado => $certo){ $texto = preg_replace ("/".$errado."/i", $certo, $texto); } return $texto; } if ($texto == Filtro ($texto)){ $Result1 = mysql_query($insertSQL, $conn) or die(mysql_error()); }else{ //ação que você quiser }//FIM DO FILTRO
ta funcionando 100%..hehefalouuuuuuuuuuuuuuusSSS
Supondo que você tenha as palavras proibidas num array, você pode usar foreach para verificar se alguma delas consta no texto. Por exemplo:
$proibidas = array(
"spam",
"proibida"
{
if(preg_match("/" . $palavra . "/i", $x))
{
Você pode integrar com banco de dados, fazer algo mais incrementado, mas a idéia é mais ou menos essa. ;)
Abraços,
Beraldo