fork(1) download
  1. <?php
  2.  
  3. $text = 'Пожалуйста,никогда';
  4. $arrayOfRegexps = array(
  5. '/\S+(,|\.|;|:|\\?|!)[а-Я]+/ui' => "После точки, запятой, двоеточия, точки с запятой, восклицательного и вопросительного знаков нужно ставить пробел.",
  6. '/(И|и)ме(л(а|о|и)?|е(те?|шь|м)|ю(т|щ(ий|ая))?|й(те)?|ть)\sввиду/ui' => "«Ввиду» пишется слитно тогда, когда его можно заменить предлогом «из-за».",
  7. '/\S+(\.|\\?|!)(\s)?[а-я]+/ui' => "Предложение должно начинаться с большой буквы.",
  8. '/\S*(ж|ш)ы\S*/ui' => "«жи» «ши» пиши с «и».",
  9. '/(что|чуть|вряд)-?ли/ui' => "Частица «ли» всегда отделяется пробелом.",
  10. '/[^,]\s(а|но)\s\S*/ui' => "Перед союзами «а» и «но» нужно ставить запятую.",
  11. '/\sздел\S+/ui' => "Приставки «з» не существует.",
  12. '/\sлож(и(ть|л(и|а)?)?|ат)(\s|\.)/ui' => "Такого слова не существует, есть слово «класть»",
  13. );
  14.  
  15. $matches = array();
  16. $errorsCounter = 0;
  17.  
  18. foreach ($arrayOfRegexps as $regexp => $errorDescription)
  19. {
  20. $errorsCounter += preg_match_all($regexp, $text, $matches);
  21.  
  22. foreach ($matches[0] as $value)
  23. {
  24. echo "\nЗдесь ошибка: " . $value . "\nОписание: " . $errorDescription . "\n";
  25. }
  26. }
  27.  
  28. echo "\nВсего найдено ошибок: {$errorsCounter}\n";
  29.  
Success #stdin #stdout #stderr 0.03s 52480KB
stdin
Standard input is empty
stdout
Всего найдено ошибок: 0
stderr
PHP Warning:  preg_match_all(): Compilation failed: range out of order in character class at offset 23 in /home/vSXrng/prog.php on line 22
PHP Notice:  Undefined offset: 0 in /home/vSXrng/prog.php on line 24
PHP Warning:  Invalid argument supplied for foreach() in /home/vSXrng/prog.php on line 24