fork download
  1. <?php
  2.  
  3. $input = <<<EOF
  4. Сдесь есть много вариантов Lorem Ipsum но большынство из них имеет не всегда
  5. приемлемые модификации, например, юмористические вставки или слова, которые
  6. даже отдалённо не напоминают латынь. Если вам нужен Lorem Ipsum для
  7. серьёзного проекта, вы наверняка не хотите какой-нибудь шутки, скрытой
  8. в середине абзаца.Также все другие известные генераторы Lorem Ipsum
  9. используют один и тот же текст, который они просто повторяют, пока не
  10. достигнут нужный объём. Это делает предлагаемый здесь генератор единственным
  11. настоящим Lorem Ipsum генератором. Он использует словарь из более чем
  12. 200 латинских слов, а также набор моделей предложений. В результате
  13. сгенерированный Lorem Ipsum выглядит правдоподобно,не имеет повторяющихся
  14. абзацей или "невозможных" слов.
  15. EOF;
  16. $regexpRules = array(
  17. "rulePattern"=>"/(\b\w+ ){0,2}\w*[.,;:!?]\w+ (\b\w+ ){0,2}/ui",
  18. "ruleText"=>"нет пробела после знаков препинания"
  19. ),
  20. "rulePattern"=>"/(\b\w+ ){0,3}\w*[жш]ы\w* (\b\w+ ){0,3}/ui",
  21. "ruleText"=>"«жи» или «ши» написано с буквой ы"
  22. ),
  23. "rulePattern"=>"/(\b\w+ ){0,2}\b(координально|сдесь|здел(ал|аю|ан))\b (\b\w+ ){0,3}/ui",
  24. "ruleText"=>"в тексте есть слово «координально» или «сдесь», «зделал», «зделаю», «зделан»"
  25. ),
  26. "rulePattern"=>"/(\b\w+ ){0,1}\w* +(a|но)[.,;:!? ]+\w* (\b\w+ ){0,1}/ui",
  27. "ruleText"=>"в тексте есть слова «а» или «но» без запятой перед ними"
  28. ),
  29. );
  30. $matches = array();
  31. foreach($regexpRules as $rule){
  32. echo "\nПроверка на правило: ".$rule['ruleText']."\n";
  33. if (preg_match_all($rule['rulePattern'], $input, $matches)){
  34. foreach($matches[0] as $error){
  35. echo "Найдена ошибка: {$error}\n";
  36. }
  37. } else {
  38. echo "Ошибок не найдено\n";
  39. }
  40. }
Success #stdin #stdout 0.02s 52472KB
stdin
Standard input is empty
stdout
Проверка на правило: нет пробела после знаков препинания
Найдена ошибка: в середине абзаца.Также все другие 
Найдена ошибка: Ipsum выглядит правдоподобно,не имеет повторяющихся 

Проверка на правило: «жи» или «ши» написано с буквой ы
Найдена ошибка: Lorem Ipsum но большынство из них имеет 

Проверка на правило: в тексте есть слово «координально» или «сдесь», «зделал», «зделаю», «зделан»
Найдена ошибка: Сдесь есть много вариантов 

Проверка на правило: в тексте есть слова «а» или «но» без запятой перед ними
Найдена ошибка: Lorem Ipsum но большынство из