fork(1) download
  1. <?php
  2.  
  3.  
  4. $text = "«Grammar Nazi». Напиши скрипт, проверяющий текст на наличие злостных ошибок:
  5. нет пробела после запятой,точки с запятой;восклицательного!знака,
  6. вопросительного?знака, двоеточия:«жы» или «шы» написано с буквой ы.
  7. в тексте есть слово «координально» или «зделал», «зделаю», «зделан»
  8. в тексте есть слова «а» или «но» без запятой перед ними. Например а или но даже.";
  9.  
  10. echo $text."\n\n";
  11. $regexs = array(
  12. '/([,.!?;:])([а-яёА-ЯЁa-z0-9])/ui' => '$1 $2',
  13. '/координально/ui' => 'кардинально',
  14. '/(здела)(л|ю|н)/ui' => 'сдела$2',
  15. '/(ж|ш)ы/ui' => '$1и',
  16. '/([а-яёА-ЯЁa-z0-9]+)(\\s+)(а|но)(\\s+)/ui' => '$1,$2$3$4'
  17. );
  18.  
  19. foreach($regexs as $pattern => $message) {
  20. $text = preg_replace($pattern, $message, $text);
  21. }
  22.  
  23. echo $text."\n";
  24.  
Success #stdin #stdout 0s 52488KB
stdin
Standard input is empty
stdout
«Grammar Nazi». Напиши скрипт, проверяющий текст на наличие злостных ошибок:
нет пробела после запятой,точки с запятой;восклицательного!знака, 
вопросительного?знака, двоеточия:«жы» или «шы» написано с буквой ы.
в тексте есть слово «координально» или «зделал», «зделаю», «зделан»
в тексте есть слова «а» или «но» без запятой перед ними. Например а или но даже.

«Grammar Nazi». Напиши скрипт, проверяющий текст на наличие злостных ошибок:
нет пробела после запятой, точки с запятой; восклицательного! знака, 
вопросительного? знака, двоеточия:«жи» или «ши» написано с буквой ы.
в тексте есть слово «кардинально» или «сделал», «сделаю», «сделан»
в тексте есть слова «а» или «но» без запятой перед ними. Например, а или, но даже.