<?php
    $matches = array();
    $string = 'Это сдесь координально морж зделал из чящи жырную?!шляпу,а кот сидел?!';
    $matchPattern = '/(сдесь|координально|здела[люн]|[жш]ы|[чщ]я|[,!?;:]+[\w]|[,](а|но)[\\W])/ui';
    $replacements = array('/сдесь/ui' => 'здесь',
                          '/координально/ui' => 'кардинально',
                          '/здела([люн])/ui' => 'cдела$1',
                          '/([жш])ы/ui' => '${1}и',
                          '/([чщ])я/ui' => '${1}а',
                          '/([,!?;:]+)([\w])/ui' => '$1 $2',
                          '/[,](а|но)([\\W])/ui' => ', $1$2');


    echo "Текст: '$string'\n";

    if (preg_match_all($matchPattern, $string, $matches, PREG_SET_ORDER)) {
    	foreach ($matches as $match) {
    	  echo "\nОшибка в фрагменте: '{$match[1]}'.";
    	}

    	echo "\n\nИсправленный текст: '".preg_replace(array_keys($replacements), array_values($replacements), $string)."'";
    } else {
    	echo "Всё правильно.";
    }
?>