El preg_replace está incorrecto
preg_replace, necesita un delimitador
http://www.php.net/manual/es/regexp....delimiters.php tu le estás dando dos, [ y ]. Verifica el enlace que te brindé para que puedas colocar uno a tu conveniencia. Otra cosa con tan solo usar \s toma todos los espacios, tanto \t como \r\n y los espacios regulares.