fork download
  1. <?php
  2.  
  3.  
  4. $text = "Грянул майский гром.жыЗаполнили лес чудесные звуки.Бормочут молчаливые совы. Лопочут зайцы. В чаще пропищал комар. Чуть слышно прозвучали,бубенчики ландыша. В лужах плещутся и урчат лягушки. Даже сухой лист ожил. Шуршыт сдесь зделал но и шмыгает по земле.";
  5.  
  6. $regexps = array("/\S+[^,]\s(а|но)/u","/[,.!?:;]\S+/u","/\S*[ЖШжш]ы\S*/u","/[Кк]оординально|[Зз]дела[люн]|[Сс]десь/u");
  7. //$regexp = '/(\S+[^,]\s(а|но))|([,.!?:;]\S+)|(\S*[ЖШжш]ы\S*)|([Кк]оординально|[Зз]дела[люн]|[Сс]десь)/u';
  8. //$regexp = '/\S+[^,]\s(а|но)/u';
  9. /*
  10. нет пробела после запятой, точки с запятой, восклицательного знака, вопросительного знака, двоеточия
  11. «жи» или «ши» написано с буквой ы
  12. в тексте есть слово «координально» или «сдесь», «зделал», «зделаю», «зделан»
  13. в тексте есть слова «а» или «но» без запятой перед ними.
  14. */
  15.  
  16. $mistakes = array();
  17.  
  18. echo "Ошибки:";
  19. foreach($regexps as $i => $regexp)
  20. if(preg_match_all($regexp, $text, $mistakes)){
  21. switch($i){
  22. case 0: echo "\n Запятые перед а/но: "; break;
  23. case 1: echo "\n Пробелы после знаков препинания: "; break;
  24. case 2: echo "\n Правописание жи/ши: "; break;
  25. case 3: echo "\n Кординально, зделать, здесь: "; break;
  26. }
  27. foreach($mistakes[0] as $mistake){
  28. echo "$mistake ";
  29. }
  30. }
  31.  
  32.  
Success #stdin #stdout 0.02s 52432KB
stdin
Standard input is empty
stdout
Ошибки:
 Запятые перед а/но: зделал но 
 Пробелы после знаков препинания: .жыЗаполнили .Бормочут ,бубенчики 
 Правописание жи/ши: гром.жыЗаполнили Шуршыт 
 Кординально, зделать, здесь: сдесь зделал