fork download
  1. <?php
  2. /*
  3.   «Grammar Nazi». Напиши скрипт, проверяющий текст на наличие злостных ошибок:
  4.  
  5.   нет пробела после запятой, точки с запятой, восклицательного знака, вопросительного знака, двоеточия
  6.   «жи» или «ши» написано с буквой ы
  7.   в тексте есть слово «координально» или «сдесь», «зделал», «зделаю», «зделан»
  8.   в тексте есть слова «а» или «но» без запятой перед ними.
  9.   (можешь добавить еще несколько правил, если хорошо знаешь русский язык)
  10.  
  11.   В случае обнаружения ошибки скрипт должен писать сообщение об этом и выводить кусок текста с ошибкой (чтобы было понятно, что не так).
  12.   */
  13.  
  14. $matches = array();
  15. $regExp = '/(сдесь|координально|здела[люн]|[жш]ы|[чщ]я|[,!?;:][^ ]|[^,][ ](а|но)[ ])/u';
  16. $string = 'Хорошо??';
  17.  
  18. echo "Исходный текст: $string\n";
  19. echo preg_match($regExp, $string, $matches) ? "Ошибка в фрагменте: '{$matches[1]}'!\n" : "Всё правильно!\n";
  20. ?>
Success #stdin #stdout 0.01s 20520KB
stdin
Standard input is empty
stdout
Исходный текст: Хорошо??
Ошибка в фрагменте: '??'!