<?php
error_reporting(-1);
$mistakes = array (
	"/шы/ui" => "ши",
    "/жы/ui" => "жи",
    "/сдесь/ui" => "здесь",
    "/з(дела(л|ю|н))/ui" => "сдела(л|ю|н)",
    "/[,;!?:](?!\s)/ui" => "пропущен пробел",
    "/[^,](\sно\b|\sа\b)/ui" => "пропущена запятая"
);
$text = "Вроде что-то не так. Но здесь нет ни одной ошибки!";
foreach($mistakes as $reg => $rule){
	$result = preg_replace($reg, '($0)'. "*{$rule}*", $text);
	echo $result . "\n";
}