Réponses
Trop de publicités?Vous devez être prudent de double sauts de ligne, ce qui entraînerait des espaces de double. Utilisez ce vraiment efficace expression régulière:
$string = trim(preg_replace('/\s\s+/', ' ', $string));
De multiples espaces et retours à la ligne sont remplacés par un seul espace.
Edit: Comme d'autres l'ont souligné, cette solution a des problèmes d'appariement unique retours à la ligne entre les mots. Ce n'est pas présente dans l'exemple, mais on peut facilement voir comment cette situation pourrait se produire. Une alternative est de faire ce qui suit:
$string = trim(preg_replace('/\s+/', ' ', $string));
Quelques remarques sur la réponse acceptée :
Le signifie « 1 ou plus ». Je ne pense pas que vous devez répéter
. Je pense que vous pouvez simplement écrire `` .
En outre, si vous voulez supprimer les espaces blancs premier et le dernier dans la chaîne, ajouter `` .
Avec ces modifications, le code serait :