<?php
/*Напиши скрипт, проверяющий текст на наличие злостных ошибок:
нет пробела после запятой, точки с запятой, восклицательного знака, вопросительного знака, двоеточия
«жи» или «ши» написано с буквой ы
в тексте есть слово «координально» или «сдесь», «зделал», «зделаю», «зделан»
в тексте есть слова «а» или «но» без запятой перед ними.
(можешь добавить еще несколько правил, если хорошо знаешь русский язык)
В случае обнаружения ошибки скрипт должен писать сообщение об этом и выводить кусок текста с ошибкой
(чтобы было понятно, что не так).*/
$text = "Привет,шыр!труд:Жыр?пассаЖЫР;зделаю Координально но, например сдесь решена проблема ушыбов.
Зделано многое а? ведь это зделал я";
$rules = [
['regexp' => '/[,;!?:][^,;!?:\\s]+/u', 'comment' => 'отсутствие пробелов'],
['regexp' => '/[а-яё]*(?:ж|ш)ы[а-яё]*/ui', 'comment' => 'написание жи-ши'],
['regexp' => '/координально|сдесь|здела(?:л|ю|н)\\S*/ui', 'comment' => 'орфографические'],
['regexp' => '/\\S*[^,]\\s(?:а|но).?/ui', 'comment' => 'пунктуация']
];
foreach ($rules as $rule){
if ($count){
echo "Нашлись ошибки ({$rule['comment']}) {$count} шт :\n";
foreach ($matches[0] as $mistake){
echo "{$mistake}\t";
};
echo "\n";
} else {
echo "Ошибки ({$rule['comment']}) отсутствуют\n";
}
}
PD9waHAKLyrQndCw0L/QuNGI0Lgg0YHQutGA0LjQv9GCLCDQv9GA0L7QstC10YDRj9GO0YnQuNC5INGC0LXQutGB0YIg0L3QsCDQvdCw0LvQuNGH0LjQtSDQt9C70L7RgdGC0L3Ri9GFINC+0YjQuNCx0L7QujoK0L3QtdGCINC/0YDQvtCx0LXQu9CwINC/0L7RgdC70LUg0LfQsNC/0Y/RgtC+0LksINGC0L7Rh9C60Lgg0YEg0LfQsNC/0Y/RgtC+0LksINCy0L7RgdC60LvQuNGG0LDRgtC10LvRjNC90L7Qs9C+INC30L3QsNC60LAsINCy0L7Qv9GA0L7RgdC40YLQtdC70YzQvdC+0LPQviDQt9C90LDQutCwLCDQtNCy0L7QtdGC0L7Rh9C40Y8KwqvQttC4wrsg0LjQu9C4IMKr0YjQuMK7INC90LDQv9C40YHQsNC90L4g0YEg0LHRg9C60LLQvtC5INGLCtCyINGC0LXQutGB0YLQtSDQtdGB0YLRjCDRgdC70L7QstC+IMKr0LrQvtC+0YDQtNC40L3QsNC70YzQvdC+wrsg0LjQu9C4IMKr0YHQtNC10YHRjMK7LCDCq9C30LTQtdC70LDQu8K7LCDCq9C30LTQtdC70LDRjsK7LCDCq9C30LTQtdC70LDQvcK7CtCyINGC0LXQutGB0YLQtSDQtdGB0YLRjCDRgdC70L7QstCwIMKr0LDCuyDQuNC70LggwqvQvdC+wrsg0LHQtdC3INC30LDQv9GP0YLQvtC5INC/0LXRgNC10LQg0L3QuNC80LguCijQvNC+0LbQtdGI0Ywg0LTQvtCx0LDQstC40YLRjCDQtdGJ0LUg0L3QtdGB0LrQvtC70YzQutC+INC/0YDQsNCy0LjQuywg0LXRgdC70Lgg0YXQvtGA0L7RiNC+INC30L3QsNC10YjRjCDRgNGD0YHRgdC60LjQuSDRj9C30YvQuikK0JIg0YHQu9GD0YfQsNC1INC+0LHQvdCw0YDRg9C20LXQvdC40Y8g0L7RiNC40LHQutC4INGB0LrRgNC40L/RgiDQtNC+0LvQttC10L0g0L/QuNGB0LDRgtGMINGB0L7QvtCx0YnQtdC90LjQtSDQvtCxINGN0YLQvtC8INC4INCy0YvQstC+0LTQuNGC0Ywg0LrRg9GB0L7QuiDRgtC10LrRgdGC0LAg0YEg0L7RiNC40LHQutC+0LkgCijRh9GC0L7QsdGLINCx0YvQu9C+INC/0L7QvdGP0YLQvdC+LCDRh9GC0L4g0L3QtSDRgtCw0LopLiovCgokdGV4dCA9ICLQn9GA0LjQstC10YIs0YjRi9GAIdGC0YDRg9C0OtCW0YvRgD/Qv9Cw0YHRgdCw0JbQq9CgO9C30LTQtdC70LDRjiDQmtC+0L7RgNC00LjQvdCw0LvRjNC90L4g0L3Qviwg0L3QsNC/0YDQuNC80LXRgCDRgdC00LXRgdGMINGA0LXRiNC10L3QsCDQv9GA0L7QsdC70LXQvNCwINGD0YjRi9Cx0L7Qsi4KCQnQl9C00LXQu9Cw0L3QviDQvNC90L7Qs9C+0LUg0LA/INCy0LXQtNGMINGN0YLQviDQt9C00LXQu9Cw0Lsg0Y8iOwoKJHJ1bGVzID0gWwoJWydyZWdleHAnID0+ICcvWyw7IT86XVteLDshPzpcXHNdKy91JywgJ2NvbW1lbnQnID0+ICfQvtGC0YHRg9GC0YHRgtCy0LjQtSDQv9GA0L7QsdC10LvQvtCyJ10sCglbJ3JlZ2V4cCcgPT4gJy9b0LAt0Y/RkV0qKD860LZ80Ygp0Ytb0LAt0Y/RkV0qL3VpJywgJ2NvbW1lbnQnID0+ICfQvdCw0L/QuNGB0LDQvdC40LUg0LbQuC3RiNC4J10sCglbJ3JlZ2V4cCcgPT4gJy/QutC+0L7RgNC00LjQvdCw0LvRjNC90L580YHQtNC10YHRjHzQt9C00LXQu9CwKD860Lt80Y580L0pXFxTKi91aScsICdjb21tZW50JyA9PiAn0L7RgNGE0L7Qs9GA0LDRhNC40YfQtdGB0LrQuNC1J10sCglbJ3JlZ2V4cCcgPT4gJy9cXFMqW14sXVxccyg/OtCwfNC90L4pLj8vdWknLCAnY29tbWVudCcgPT4gJ9C/0YPQvdC60YLRg9Cw0YbQuNGPJ10KXTsKCmZvcmVhY2ggKCRydWxlcyBhcyAkcnVsZSl7CgkKCSRtYXRjaGVzID0gYXJyYXkoKTsKCSRjb3VudCA9IHByZWdfbWF0Y2hfYWxsKCRydWxlWydyZWdleHAnXSwgJHRleHQsICRtYXRjaGVzKTsKCWlmICgkY291bnQpewoJCWVjaG8gItCd0LDRiNC70LjRgdGMINC+0YjQuNCx0LrQuCAoeyRydWxlWydjb21tZW50J119KSB7JGNvdW50fSDRiNGCIDpcbiI7CgkJZm9yZWFjaCAoJG1hdGNoZXNbMF0gYXMgJG1pc3Rha2UpewoJCQllY2hvICJ7JG1pc3Rha2V9XHQiOwoJCX07CgkJZWNobyAiXG4iOwoJfSBlbHNlIHsKCQllY2hvICLQntGI0LjQsdC60LggKHskcnVsZVsnY29tbWVudCddfSkg0L7RgtGB0YPRgtGB0YLQstGD0Y7RglxuIjsKCX0KfQ==