J'ai une solution... Un peu tordue, mais une solution quand même !
En passant uniquement avec str_replace :
tu remplaces les -- par, par exemple, ||| (le genre de truc que tu ne trouveras nulle part).
Après tu remplaces les - par des espaces.
Et enfin tu remets les --...
Tout cela obligatoirement en 3 étapes.
Ca donne :
$var = str_replace("--","|||",$var);
$var = str_replace("-"," ",$var);
$var = str_replace("|||","--",$var);
Je sais, c'est pas le pied... Mais je vois pas comment faire autrement ! :)