Добавление пробелов после знаков препинания на PHP

Здравствуйте. Существуют пользователи, которые забывают поставить пробел после знака препинания, точки или запятой. Данную проблему я решаю путём ручного редактирования сообщений забывчивых пользователей. Призыв к внимательности, не помогает, пользователи всё ровно не ставят пробел.

Количество пользователей растёт и боюсь, что скоро буду не успевать за всеми исправлять сообщения. Поможете решить проблему программно, при помощи php? Спасибо.
Могу предложить замену по строке:
$txt = 'Текст без пробелов,после знаков препинания.Пробелов нет ни после запятой,ни после точки.Вот!';
$txt = str_replace(array(',', '.'), array(', ', '. '), $txt);
echo $txt;

Минус такого решения: пробел после знаков препинания будет добавлен в любом случае, даже если он уже там есть. Тут отлично бы справилась регулярное выражения, но я в них небельме.
Predator сказал:
5:51 pm, Август 9, 2018 (id: #2689)
Тут отлично бы справилась регулярное выражения

Вот такую регулярку нашел:
$txt = preg_replace('/([^\s]?)\s?([.,?!:;])\s?([^\s]?)/u', "\$1\$2 \$3", $txt);

Попробуйте.
Predator, Ваш метод работает, двойных пробелов нет, проверил.
Scorpion, Ваш код тоже работает, разнице между работой кода не видно.
Спасибо за помощь.