PHP Code Snippet - Preg Replace, чтобы обеспечить только 1 пробел между словами в строке
Я использую preg_replace для удаления нежелательных символов из строки. Это работает нормально.
То, что я хотел бы дополнительно иметь, это просто изменить это (или в следующей строке), чтобы я мог разрешить максимум 1 пробел между словами. Нет пробелов ни впереди, ни позади строки.
Я видел ответ в PHP preg_match, необходимый для того, чтобы между словами, где было опубликовано возможное решение, был разрешен только ОДИН символ пробела (решение -> ^[a-zA-Z]+( [a-zA-Z]+)*$) но с некоторыми поднятыми вопросами (каково определение слова? какой тип пробела)
Определение моего слова -> английские слова (включая az,AZ,0-9,-, _)
Пробелы -> пробелы (), а не переводы строк и т. Д.
Какие-нибудь фрагменты кода?
Спасибо, Месвара
1 ответ
Решение
Попробуй это:
<?php
$my_str = 'Hello, too many spaces!';
$my_str = preg_replace('#[\s]+#', ' ', $my_str);
echo $my_str; // returns 'Hello, too many spaces!'