web-dev-qa-db-fra.com

Comment supprimer des espaces, des tabulations et des sauts de ligne supplémentaires d'une phrase et les remplacer par un seul espace?

Duplicata possible:
supprimer plusieurs espaces blancs dans php

J'ai un flux de caractères, une phrase ou un paragraphe, qui peut avoir des espaces supplémentaires en deux mots ou même des tabulations ou des sauts de ligne, comment puis-je supprimer tout cela et les remplacer par un seul espace blanc.

26
Kumar

Vous pouvez utiliser une expression régulière comme:

preg_replace("/\s+/", " ", $string);

Cela devrait remplacer tous les multiples espaces blancs, tabulations et nouvelles lignes par un seul.

Merci à @ridgerunner pour la suggestion - cela peut être beaucoup plus rapide si vous ajoutez le 'S' modificateur d'étude:

preg_replace('/\s+/S', " ", $string);

'S'aide "les motifs non ancrés qui n'ont pas un seul caractère de départ fixe" - c'est-à-dire une classe de caractères.

86
jeroen