<?php
"/шы/ui" => "ши",
"/жы/ui" => "жи",
"/сдесь/ui" => "здесь",
"/з(дела(л|ю|н))/ui" => "сдела(л|ю|н)",
"/[,;!?:](?!\s)/ui" => "пропущен пробел",
"/[^,](\sно\b|\sа\b)/ui" => "пропущена запятая"
);
$text = "шы жы сдесь зделал:зделаю,зделан но";
foreach($mistakes as $reg => $rule){
echo $result . "\n";
}
PD9waHAKZXJyb3JfcmVwb3J0aW5nKC0xKTsKJG1pc3Rha2VzID0gYXJyYXkgKAoJIi/RiNGLL3VpIiA9PiAi0YjQuCIsCiAgICAiL9C20YsvdWkiID0+ICLQttC4IiwKICAgICIv0YHQtNC10YHRjC91aSIgPT4gItC30LTQtdGB0YwiLAogICAgIi/QtyjQtNC10LvQsCjQu3zRjnzQvSkpL3VpIiA9PiAi0YHQtNC10LvQsCjQu3zRjnzQvSkiLAogICAgIi9bLDshPzpdKD8hXHMpL3VpIiA9PiAi0L/RgNC+0L/Rg9GJ0LXQvSDQv9GA0L7QsdC10LsiLAogICAgIi9bXixdKFxz0L3QvlxifFxz0LBcYikvdWkiID0+ICLQv9GA0L7Qv9GD0YnQtdC90LAg0LfQsNC/0Y/RgtCw0Y8iCik7CiR0ZXh0ID0gItGI0Ysg0LbRiyDRgdC00LXRgdGMINC30LTQtdC70LDQuzrQt9C00LXQu9Cw0Y4s0LfQtNC10LvQsNC9INC90L4iOwpmb3JlYWNoKCRtaXN0YWtlcyBhcyAkcmVnID0+ICRydWxlKXsKCSRyZXN1bHQgPSBwcmVnX3JlcGxhY2UoJHJlZywgJygkMCknLiAiKnskcnVsZX0qIiwgJHRleHQpOwoJZWNobyAkcmVzdWx0IC4gIlxuIjsKfQ==
(шы)*ши* жы сдесь зделал:зделаю,зделан но
шы (жы)*жи* сдесь зделал:зделаю,зделан но
шы жы (сдесь)*здесь* зделал:зделаю,зделан но
шы жы сдесь (зделал)*сдела(л|ю|н)*:(зделаю)*сдела(л|ю|н)*,(зделан)*сдела(л|ю|н)* но
шы жы сдесь зделал(:)*пропущен пробел*зделаю(,)*пропущен пробел*зделан но
шы жы сдесь зделал:зделаю,здела(н но)*пропущена запятая*