Limpiar palabras groseras con expresiones regulares en php
Esta expresión regular filtra las palabras groseras que algunos de nuestros usuarios podrían poner.
function deswear($string){
function prep_regexp_array(&$item){
$item = "#$item#i";
}
function stars($matches){
return substr($matches [0] , 0, 1).str_repeat("*", strlen($matches [0] )-1);
}
$swears = array("idiota", "invecil");
array_walk($swears, "prep_regexp_array");
return preg_replace_callback($swears, "stars", $string);
}
//ejm:
echo deswear("marcianito es un idiota");