Banear palabras con PHP.

Resumen.

Una de las cosas que más frustra a los administradores de sitios Web es el uso por parte de los usuarios de palabras malsonantes. Banear esas palabras es muy sencillo con el uso de la función que vamos a presentar en este nuevo artículo. Es ideal para la publicación de comentarios, en foros o cualquier otro sitio que se te ocurra.

Artículo.

En ArtesaniaWeb.ES estamos encantados de ayudar a los programadores ha que su vida sea mas fácil, por eso tratamos de presentar los códigos que son casi imprescindibles en cualquier sitio Web. Y el que vamos a presentar ahora es inexcusable, uno de estos códigos que te ahorran muchas horas de revisiones.

La función es la siguiente:
<?php // Eliminamos palabras prohibidas y las reemplazamos por *** function BaneaPalabra($texto$baneadas$bnd){      foreach($baneadas as $key => $new_texto){         if(stripos($texto,$baneadas[$key]) <> FALSE){             $texto str_ireplace($baneadas[$key],$bnd,$texto);         }     }     return $texto;  } // Aplicamos la funcion $texto 'Programar en PHP es muy divertido, aunque algunos lo consideren frustrante, deprimente  y complicado. En fin, hay demasiadas opiniones tontas para escuchar cada día. mi-mail@Gmail.COM.'; $baneadas = array('Tontas','deprimente','frustrante''@gmail.com'); $bnd '***'; $texto_ok BaneaPalabra($texto$baneadas$bnd); echo $texto_ok; ?>
La función es muy sencilla, tenemos un texto y un conjunto de palabras que no queremos se aparezcan en ese texto guardadas en un array.

Mediante el bucle foreach lo que hacemos es buscar cada una de esas palabras en el texto, lo que hacemos mediante la función stripos() que no diferencia entre mayúsculas y minúsculas.

En caso de alguna de esas palabras aparezca, mediante la función str_ireplace(), que tampoco diferencia entre mayúsculas y minúsculas, la sustituimos, en este caso por “***”.

Hasta aquí todo perfecto, ¿verdad? Pues no. Esta función tiene un problema, y es que precisa una constante actualización de las palabras a banear, lo que hacerlo sobre el mismo código, puede resultar un tanto trabajoso, además de peligroso.

Lo ideal seria guardar esta palabras en una base de datos, y extraer la columna donde se guardan introduciéndola en un array, con esto, gestionaremos de una manera muy fácil y cómoda las palabras malsonantes, ofensivas, direcciones de e-mail, etc…
Tags: Palabras || banea || malsonante || stripos || str_ireplace

Comentarios.

Sin comentarios, publica el tuyo.