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»);