Inicio > php > Funcion que filtra palabras en PHP

Funcion que filtra palabras en PHP

Veamos una función bastante útil al momento de guardar una cadena de texto en nuestra Base de Datos, en particular cuando queremos filtrar palabras que a nuestro cliente no le gustan (Ej: citas a la competencia, insultos )



<?php
#Filtro de palabras
function evaluarContent( $cadena ){

$palabras = 'malapalabra1,malapalabra2,malapalabra3,malapalabraN';
$arrayPalabras = explode(',',$palabras);

for( $i = 0 ; $i <= count($arrayPalabras) ; $i++ ){

if( stristr($cadena , $arrayPalabras[$i] ) ){
return true;
}

}

return false;
}
?>

Ejemplo básico de uso de la función :


<?php
if( !evaluarContent( $cadena ) ){
//Lógica para procesar la cadena (guardarla en una Base de datos, enviarla por mail, etc.)
}
?>

Articulos relacionados:

Categories: php Tags: ,
  1. Lunes, 7 de junio de 2010 a las 18:36 | #1

    Esa funcion se puede “bypassear” =\ tendrias que pasar el ciclo un par de veces aun que ocuparias mas procesador/memoria

    imagina esto:

    $cadena =’malamalapalabra1palabra1′;

    entonces quita “malapalabra1″ de enmedio quedando
    “mala” y “palabra1″ o sea “malapalabra1″

  1. Sin trackbacks aún.