Tu problema radica en que los diferentes SO hacen los saltos de linea de forma diferente. Así, Windows lo hace con
\r\n, Unix con
\r y Mac con
\n
Mejor haz algo asi:
Código PHP:
function reemplazo($infm){
$bloqueadas = file_get_contents ("liib/pal_bloqd.txt");
// Esto porque los diferentes SO tienen diferentes
// formas de hacer los saltos de linea
$bloqueadas = str_replace(array("\r\n","\n","\r"),"\n",$bloqueadas);
$bloqueadas = explode("\n",$bloqueadas);
//str_replace() tambien acepta arrays como parámetros,
//de manera que no es necesario hacer un bucle
return str_replace($bloqueadas,"",$infm);
}
echo reemplazo("Estas palabras son indebidas, estas no");
Un saludo,