fork(1) 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"=>"/[.,;:!?][^ ].{0,10}/",
  18. "ruleText"=>"нет пробела после знаков препинания"
  19. ),
  20. "rulePattern"=>"/[жш]ы.{0,10}/ui",
  21. "ruleText"=>"«жи» или «ши» написано с буквой ы"
  22. ),
  23. "rulePattern"=>"/координально|сдесь|зделал|зделаю|зделан/ui",
  24. "ruleText"=>"в тексте есть слово «координально» или «сдесь», «зделал», «зделаю», «зделан»"
  25. ),
  26. );
  27. $matches = array();
  28. foreach($regexpRules as $rule){
  29. echo "\nПроверка на правило: ".$rule['ruleText']."\n";
  30. if (preg_match_all($rule['rulePattern'], $input, $matches)){
  31. foreach($matches[0] as $error){
  32. echo "Найдена ошибка: {$error}\n";
  33. }
  34. } else {
  35. echo "Ошибок не найдено\n";
  36. }
  37. }
Success #stdin #stdout 0.02s 52480KB
stdin
Standard input is empty
stdout
Проверка на правило: нет пробела после знаков препинания
Найдена ошибка: .Также 
Найдена ошибка: ,не име

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

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