заменить пробелы из одиночных символов в строке - PullRequest
0 голосов
/ 07 января 2019

заменить пробелы из одиночных символов в строке

$string = "lorem ipsum dummy text, abc g m a i l test ki ll exi t test 123 1 2     3.";

Я хочу следующий вывод

$string = "lorem ipsum dummy text, abc gmail test ki ll exi t test 123 123.";

Примечание:

g m i i l конвертировать в gmail

1 2 3 преобразовать в 123

gmail и 123 и текст примеров.

Пример кода:

$string = "lorem ipsum dummy text, abc g m a i l test ki ll exi t test 123 1 2     3.";

echo preg_replace('"/\s+(\d{1,1})\s+/"', '', $string);

1 Ответ

0 голосов
/ 07 января 2019

Вы можете использовать это регулярное выражение и заменить его тем, что соответствует в group1, что является ровно одним символом слова.

(?<=\b\w\b) +(\b\w\b)

Это регулярное выражение в основном выбирает один или несколько пробелов, за которыми следует ровно один символ \w слова, и следит за тем, чтобы ему предшествовал ровно один символ \w, и заменяет его на символ, соответствующий группе group1, который представляет собой всего один символ слова.

Демо

Примеры кодов PHP,

$string = "lorem ipsum dummy text, abc g m a i l test ki ll exi t test 123 1 2     3.";
echo preg_replace('/(?<=\b\w\b) +(\b\w\b)/', '$1', $string);

Печатает это, как вы упомянули в своем сообщении для ожидаемого вывода,

lorem ipsum dummy text, abc gmail test ki ll exi t test 123 123.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...