Вы можете использовать это регулярное выражение и заменить его тем, что соответствует в 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.