en si, esto es mas simple... con
expresiones regulares Código PHP:
$texto = preg_replace('/\s+/', ' ', $texto);
de este modo
/ separador \s es un espacio + cuantificador multiple (al menos uno)
/ separador
y listo, solo reemplazamos.... "
desde un espacio o mas" por "
un solo espacio"