<?php
/*Напиши скрипт, проверяющий текст на наличие злостных ошибок:
нет пробела после запятой, точки с запятой, восклицательного знака, вопросительного знака, двоеточия
«жи» или «ши» написано с буквой ы
в тексте есть слово «координально» или «сдесь», «зделал», «зделаю», «зделан»
в тексте есть слова «а» или «но» без запятой перед ними.
(можешь добавить еще несколько правил, если хорошо знаешь русский язык)
В случае обнаружения ошибки скрипт должен писать сообщение об этом и выводить кусок текста с ошибкой
(чтобы было понятно, что не так).*/
$text = "Привет,шыр!труд:Жыр?пассаЖЫР;зделаю Координально но, например сдесь решена проблема ушыбов.
Зделано многое а? ведь это зделал я Один ананас, но зато какой";
$rules = [
['regexp' => '/[,;!?:][^,;!?:\\s]+/u', 'comment' => 'отсутствие пробелов'],
['regexp' => '/[а-яё]*(?:ж|ш)ы[а-яё]*/ui', 'comment' => 'написание жи-ши'],
['regexp' => '/координально|сдесь|здела(?:л|ю|н)\\S*/ui', 'comment' => 'орфографические'],
['regexp' => '/[а-яё]+\\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/INCy0LXQtNGMINGN0YLQviDQt9C00LXQu9Cw0Lsg0Y8g0J7QtNC40L0g0LDQvdCw0L3QsNGBLCAgINC90L4g0LfQsNGC0L4g0LrQsNC60L7QuSI7CgokcnVsZXMgPSBbCglbJ3JlZ2V4cCcgPT4gJy9bLDshPzpdW14sOyE/Olxcc10rL3UnLCAnY29tbWVudCcgPT4gJ9C+0YLRgdGD0YLRgdGC0LLQuNC1INC/0YDQvtCx0LXQu9C+0LInXSwKCVsncmVnZXhwJyA9PiAnL1vQsC3Rj9GRXSooPzrQtnzRiCnRi1vQsC3Rj9GRXSovdWknLCAnY29tbWVudCcgPT4gJ9C90LDQv9C40YHQsNC90LjQtSDQttC4LdGI0LgnXSwKCVsncmVnZXhwJyA9PiAnL9C60L7QvtGA0LTQuNC90LDQu9GM0L3QvnzRgdC00LXRgdGMfNC30LTQtdC70LAoPzrQu3zRjnzQvSlcXFMqL3VpJywgJ2NvbW1lbnQnID0+ICfQvtGA0YTQvtCz0YDQsNGE0LjRh9C10YHQutC40LUnXSwKCVsncmVnZXhwJyA9PiAnL1vQsC3Rj9GRXStcXHMrKD860LB80L3QvilbXtCwLdGP0ZFdL3VpJywgJ2NvbW1lbnQnID0+ICfQv9GD0L3QutGC0YPQsNGG0LjRjyddCl07Cgpmb3JlYWNoICgkcnVsZXMgYXMgJHJ1bGUpewoJCgkkbWF0Y2hlcyA9IGFycmF5KCk7CgkkY291bnQgPSBwcmVnX21hdGNoX2FsbCgkcnVsZVsncmVnZXhwJ10sICR0ZXh0LCAkbWF0Y2hlcyk7CglpZiAoJGNvdW50KXsKCQllY2hvICLQndCw0YjQu9C40YHRjCDQvtGI0LjQsdC60LggKHskcnVsZVsnY29tbWVudCddfSkgeyRjb3VudH0g0YjRgiA6XG4iOwoJCWZvcmVhY2ggKCRtYXRjaGVzWzBdIGFzICRtaXN0YWtlKXsKCQkJZWNobyAieyRtaXN0YWtlfVx0IjsKCQl9OwoJCWVjaG8gIlxuIjsKCX0gZWxzZSB7CgkJZWNobyAi0J7RiNC40LHQutC4ICh7JHJ1bGVbJ2NvbW1lbnQnXX0pINC+0YLRgdGD0YLRgdGC0LLRg9GO0YJcbiI7Cgl9Cn0KPz4=