<?php

$text = "
        нет пробела после запятой,точки с запятой;восклицательного знака!вопросительного знака?двоеточия:
        «жы» или «шы» написано с буквой ы,
        в тексте есть слово «координально» или «сдесь», «зделал», «зделаю», «зделан»
        в тексте есть слова а или но без запятой перед ними.
        ";

// Найденное
$result = array();

// Список ошибок
$regexp = array(
        '/(,|;|!|[?]|:)(\\S)/u',
        '/(ж|ш)(ы)/u',
        '/(координально)/u','/(сдесь)/u','/(зделал)/u','/(зделаю)/u','/(зделан)/u',
        '/(\\s)(но|а)(\\s)/u'
        );
// Список замены
$replacement = array(
        '$1 $2',
        '$1и',
        'кардинально','здесь','сделал','сделаю','сделан',
        '$1$2,$3'        
        );

// Исправляем ошибки в тексте
$text = preg_replace ($regexp, $replacement, $text);
echo $text;

?>
