Hola,
Haz un echo $palabras; para saber con que estas llamando al eregi_replace(). Puede ser que el fallo este en que no lees bien los valores. Se supone que si te devuelve una palabra deberia funcionar. Quizas tambien deberias aplicarle un trim() (
www.php.net/trim) para eliminar los espacios iniciales y finales a $palabras (no se si afectan a las expersiones).
Saludos.