fork download
  1. <?php
  2.  
  3.  
  4. $bigTextExample = <<<EOF
  5. Дорогой коллега,
  6.  
  7. Надеюсь,у тебя все отлично!Я хотел бы координально поделиться своим адресом электронной почты с тобой, чтобы наши коммуникации были более эффективными и своевременными. Мой адрес:vanya.doe@mail.ru.
  8.  
  9. Также, мне пришла в голову идея организоват:небольшую встречу коллег для обсуждения наших текущих проектов.Если тебе интересно?Не стесняйся написать мне по адресу maria.ivanova@mail.ru. Было бы здорово услышать твои мысли по этому поводу!
  10.  
  11. Кстати, я хотел бы поделиться с тобой новостью о предстояшым мероприятии нашей компании;Чтобы получить все подробности и зарегистрироваться, пожалуйста, обратись к Марине по адресу marina.petrova@mail.ru. Она будет рад помочь тебе.
  12.  
  13. Если у тебя возникнут какие-либо вопросы или пожылания но не стесняйся писать мне на адрес sofa.klimova@mail.ru. Я всегда готова помочь и обсудить любые идеи.
  14.  
  15. С наилучшыми пожеланиями,
  16. Женя
  17. EOF;
  18.  
  19. $egexpComma = '/(\S+\,\S+)|(\S+\;\S+)|(\S+\?\S+)|(\S+\:\S+)|(\S+\!\S+)|(\w+жы\w+)|(\w+шы\w+)|(координально)|(\s+но\s+)/ui';
  20. $egexpDot = '/(\,)|(\;)|(\:)|(\!)|(\?)|(жы)|(шы)|(коор)/ui';
  21. $egexpDot2 = '/((\s+)(но))/ui';
  22. $regexpError = [];
  23.  
  24. preg_match_all($egexpComma, $bigTextExample, $regexpError);
  25.  
  26. echo "GrammarNazi v0.5\n\n";
  27.  
  28. foreach($regexpError[0] as $commaError) {
  29. $errorCorrection = preg_replace($egexpDot, '(!)$0(!)', $commaError);
  30. echo "Найдено неправильное написание в следующем отрезке: ... $errorCorrection ...\n";
  31. if (preg_match($egexpDot2, $commaError)) {
  32. $errorCorrection = preg_replace($egexpDot2, '(!)$2(!)$3', $commaError);
  33. echo "Более конкретно: ... $errorCorrection ...\n";
  34. }
  35. }
  36.  
  37.  
Success #stdin #stdout 0.03s 26144KB
stdin
Standard input is empty
stdout
GrammarNazi v0.5

Найдено неправильное написание в следующем отрезке: ... Надеюсь(!),(!)у ...
Найдено неправильное написание в следующем отрезке: ... отлично(!)!(!)Я ...
Найдено неправильное написание в следующем отрезке: ... (!)коор(!)динально ...
Найдено неправильное написание в следующем отрезке: ... адрес(!):(!)vanya.doe@mail.ru. ...
Найдено неправильное написание в следующем отрезке: ... организоват(!):(!)небольшую ...
Найдено неправильное написание в следующем отрезке: ... интересно(!)?(!)Не ...
Найдено неправильное написание в следующем отрезке: ... предстоя(!)шы(!)м ...
Найдено неправильное написание в следующем отрезке: ... компании(!);(!)Чтобы ...
Найдено неправильное написание в следующем отрезке: ... по(!)жы(!)лания ...
Найдено неправильное написание в следующем отрезке: ...  но  ...
Более конкретно: ... (!) (!)но  ...
Найдено неправильное написание в следующем отрезке: ... наилуч(!)шы(!)ми ...