Filtrar palabras en PHP

A continuación vamos a ver como dada una cadena de texto podemos filtrarla en función de las palabras que contenga. Todo ésto programado en PHP.

Pongamos como ejemplo el caso de una aplicación en la que el usuario introduce una cadena de texto, y queremos filtrar dicha cadena comprobando si en la misma aparecen ciertas palabras.

Utilizaríamos una función PHP como la siguiente:

function filtrarPalabras($cadenaAfiltrar) {
$palabrasAbuscar = ‘palabra1,palabra2,palabra3’;
$arrayPalabras = explode(‘,’,$palabrasAbuscar);
for ($i=0; $i<=count($arrayPalabras); $i++) {
if ( stristr($cadenaAfiltrar,$arrayPalabras[$i]) ) {
return true;
}
}
return false;
}

En el ejemplo, a la función filtrarPalabras($cadenaAfiltrar) le pasaríamos la cadena a filtrar, en la que buscaríamos si existen las palabras definidas en la variable $palabrasAbuscar (que están separadas por comas). En caso de que $cadenaAfiltrar contenga alguna de las palabras listadas en $palabrasAbuscar la función devolverá true, en caso contrario devolverá false.

Y con esto tenemos una función que, dada una cadena de texto, filtra si contiene ciertas palabras, sin tener en cuenta mayúsculas ni minúsculas (stristr).