<?php
$text = <<<EOF
Пришёл домой сегодня,а там мамка поесть ещё не зделала.
Я ей говорю:Сдесь и сейчас давай мне поесть,а не то координально щас тебе башку расшыбу,курва старая.
Старуха кричала и отбивалась,но я оказался сильнее:разбил ей губу и правильно зделал. Жына у меня в том году умерла от побоев,кстати.
Мамка покрепче будет, думаю, года два еще протянет.
EOF;

$errors = [

    "/(ж|ш)ы/ui" => "Жи-Ши пиши через И",
    "/координально/ui" => "Правильно: кардинально",
    "/здел\\S+/ui" => "Правильно: сделать",
    "/сдесь/ui" => "Правильно: здесь",
    "/[.|!|\\?|,|:|;]\\S+/ui" => "После пунктуационных знаков ставится пробел",
    "/\\S+ (а|но) \\S+/" => "Перед союзами А и НО ставится запятая.",
    "/ еще /ui" => "Не хватает точек над буквой Ё",
];
$massivo = [];

foreach ($errors as $key => $explaining) {
    $errorcount = preg_match_all($key, $text, $massivo);

    foreach ($massivo[0] as $a)
    {
        echo "An error here: ...$a..., the rule is: '$explaining'.\n";
    }
}
