PHP выражение preg_replace для следующего требования? - PullRequest
0 голосов
/ 27 января 2020

Входной текст:

 Hello, raj's            dogs age                              is 18. "

Вывод:

Hello, raj's dogs age is 18.

Требования:

  1. Удалить лишний пробел между словами.
  2. allow Заглавные и строчные буквы, а также цифры и точки (.) И одинарные кавычки (').
  3. Не допускать пробелов в начале и конце строки.

Ответы [ 3 ]

1 голос
/ 27 января 2020

Заменить несколько пробелов одним пробелом.

echo trim(preg_replace('/\h+/', ' ', ' Hello, raj\'s           dogs age                     is 18. '));

\h - это горизонтальный пробел (табуляция / пробел). + после означает, что по крайней мере один должен быть предварительно установлен. Пространство в замене заменяет один или несколько только одним. PHP 'trim можно затем использовать для удаления начальных / конечных пробелов.

0 голосов
/ 27 января 2020

Попробуйте заменить два или более пробельных символа одним пробелом:

$string = " Hello, raj's           dogs age                     is 18. ";
$result = trim(preg_replace('/\s{2,}/', ' ', $string));
echo $result;

Это напечатает:

Hello, raj's dogs age is 18.
0 голосов
/ 27 января 2020

использовать функцию str_replace ()

$string = " Hello, raj's           dogs age                     is 18. ";
$result=str_replace(' ', ' ', $string);
echo $result;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...