en este ultimo caso lo q habria q hacer es primero q nada sacar todo lo q no sea texto
Código php:
Ver original$malaPalabras = 'coño,otra,mala,palabra,separadas,por,comas';
$texto ='coooo|@#~ñ788o';
$texto=preg_replace('/[^\wáéíóúñ]+/i','',$texto); //resultado coooño
//ahora lo q deberiamos hacer es ver si concuerda con alguna de las palabras prohibidas
//pero haciendo un pequeño retoque para contemplar la repeticion de letras
$diccionarioAux = array();
foreach(explode(',',$malaPalabras) as $malaPalabra){
$aux = '';
for($i=0,$count=strlen($malaPalabra);$i<$count;$i++){ $aux.='['.$malaPalabra[$i].']+';
}
$diccionarioAux [] = '/('.$aux.')/i';
}
$texto = preg_replace($diccionarioAux,'##PALABRA PROHIBIDA##',$texto);
no es la mejor solucion pero ya va estando cerca habria sq seguirla trabajando y optimizando