/*«Grammar Nazi». Напиши скрипт, проверяющий текст на наличие злостных ошибок:

нет пробела после запятой, точки с запятой, восклицательного знака, вопросительного знака, двоеточия
«жи» или «ши» написано с буквой ы
в тексте есть слово «координально» или «сдесь», «зделал», «зделаю», «зделан»
в тексте есть слова «а» или «но» без запятой перед ними.
(можешь добавить еще несколько правил, если хорошо знаешь русский язык)

В случае обнаружения ошибки скрипт должен писать сообщение об этом и выводить кусок текста с ошибкой (чтобы было понятно, что не так).*/
<?php
//mb_internal_encoding('utf-8');
$text = "Текст с кучей плохих оШыбок. Сдесь я координально зделал ошыбки, а не , но а но жы ,анаконда ноль поставил запятую , и , пробел перед ней ночь.";
$sentences = preg_split("/(?<=[.?!])/u", $text, 0, PREG_SPLIT_NO_EMPTY);
$regex = [
        "/[жш]ы/ui" => "[$0]",
    "/координально/ui" => "[$0]",
    "/здела[лню]/ui" => "[$0]",
    "/сдесь/ui" => "[$0]",
    "/\s+(а|но)\s/ui" => "[$0]",
    "/\s+[.?!:,]/u" => "[$0]",
    "/[.?!:,]\S/u" => "[$0]"
];
foreach ($sentences as $sentence){
    foreach ($regex as $reg => $replacement){
        if(preg_match($reg, $sentence)){
            echo "Ошибки в предложении: " . preg_replace($reg, $replacement, $sentence) . "\n";
        }

    }
}
?>