PHP Code Snippet - Preg Replace, чтобы обеспечить только 1 пробел между словами в строке - PullRequest
0 голосов
/ 01 февраля 2012

Я использую preg_replace для удаления ненужных символов из строки.Это прекрасно работает.

Что бы я хотел дополнительно иметь, это просто изменить это (или в следующей строке), чтобы я мог разрешить максимум 1 пробел между словами.Никаких пробелов ни перед строкой, ни за строкой.

Я видел ответ на PHP preg_match, необходимый для того, чтобы между словами , где было опубликовано возможное решение, был разрешен только ОДИН символ пробела (решение ->^ [a-zA-Z] + ([a-zA-Z] +) * $), но с некоторыми поднятыми вопросами (каково определение слова? какой тип пробела)

Определение моего слова-> английские слова (включая az, AZ, 0-9, -, _)

Пробел -> пробел пробел (), не переводы строки и т. д.

Какие-либо фрагменты кода?

Спасибо, Месвара

1 Ответ

2 голосов
/ 01 февраля 2012

Попробуйте это:

<?php
$my_str = 'Hello,    too  many      spaces!';
$my_str = preg_replace('#[\s]+#', ' ', $my_str);
echo $my_str; // returns 'Hello, too many spaces!'
...