Non vorrei sparare una boiata ma se $separator lo setti a " ", visto che dopo va a fare il preg replace, sostituendo tutti i + con $separator?