fork download
  1. <?php
  2.  
  3. $text = <<<TXT
  4. Сдесь идейные соображения высшего порядка а также начало повседневной работы по формированию позиции позволяет оценить значение модели развития.Идейные соображения высшего порядка,а также дальнейшее развитие различных форм деятельности позволяет оценить значение новых предложений.
  5. Разнообразный и богатый опыт консультация с шыроким активом зделает широкому кругу.С другой стороны постоянное информационно-пропагандистское обеспечение нашей деятельности обеспечивает шырокому кругу (специалистов) участие в формировании позиций,занимаемых участниками в отношении поставленных задач.
  6. Повседневная практика показывает,что координальная реализация намеченных плановых заданий в значительной степени обуславливает создание модели развития жывности.Но явным образом рамки и место обучения кадров влечет за собой процесс внедрения и жывой модернизации системы обучения кадров но соответствует насущным потребностям.
  7. TXT;
  8.  
  9. $paragraphs = explode("\n", $text);
  10. $matches = [];
  11.  
  12. $regexp = [
  13. "/(\\s*\\w+){4}[,.:?!](\\w+\\s){4}/ui", "/(\\w+\\s*){4}(жы|шы)(\\w+[\\s()-]*){4}/ui",
  14. "/[^,](\\w+\\s+){3}(а|но)(\\s+\\w+){3}/ui", "/(\\s*\\w*){3}(сдесь|здел|к(о+)рдиналь)(\\s*\\w*){3}/ui"
  15. ];
  16.  
  17. $errors = [
  18. "После символов [, . ? ! :] ставят пробел.",
  19. "Жи Ши пиши с буквой И.",
  20. "Перед союзом [а] или [но] ставь запятую!",
  21. "Ошибка в слове.",
  22. ];
  23.  
  24. foreach ($regexp as $expNum => $exp) {
  25. if(preg_match_all($exp, $text, $matches, PREG_PATTERN_ORDER))
  26. {
  27. foreach($matches[0] as $match)
  28. {
  29. echo "\" {$match} \"\n";
  30. echo "- {$errors[$expNum]}\n";
  31. }
  32. }
  33. }
Success #stdin #stdout 0.03s 26784KB
stdin
Standard input is empty
stdout
" Идейные соображения высшего порядка,а также дальнейшее развитие  "
- После символов [, . ? ! :] ставят пробел.
"  активом зделает широкому кругу.С другой стороны постоянное  "
- После символов [, . ? ! :] ставят пробел.
"  участие в формировании позиций,занимаемых участниками в отношении  "
- После символов [, . ? ! :] ставят пробел.
" 
Повседневная практика показывает,что координальная реализация намеченных  "
- После символов [, . ? ! :] ставят пробел.
"  создание модели развития жывности.Но явным образом рамки  "
- После символов [, . ? ! :] ставят пробел.
" богатый опыт консультация с шыроким активом зделает широкому  "
- Жи Ши пиши с буквой И.
" обеспечение нашей деятельности обеспечивает шырокому кругу (специалистов) участие  "
- Жи Ши пиши с буквой И.
" обуславливает создание модели развития жывности "
- Жи Ши пиши с буквой И.
" собой процесс внедрения и жывой модернизации системы обучения  "
- Жи Ши пиши с буквой И.
"  соображения высшего порядка а также начало повседневной "
- Перед союзом [а] или [но] ставь запятую!
"  системы обучения кадров но соответствует насущным потребностям "
- Перед союзом [а] или [но] ставь запятую!
" Сдесь идейные соображения высшего "
- Ошибка в слове.
"  шыроким активом зделает широкому кругу "
- Ошибка в слове.
" что координальная реализация намеченных "
- Ошибка в слове.