fork(2) download
  1. <?php
  2.  
  3. $input = <<<EOF
  4. МУУ ГООУО ОПП по (Удмyртckой - латинские буквы в слове) Области объявляет
  5. конкурс на пocтaвку кaнцелярских товаров
  6. на сумму 100500 руб. Sаmple.
  7. EOF;
  8.  
  9. $regexp = array(
  10. "wordChecker" => "/\b(([А-ЯЁа-яё]+)([AaBCcEeHKMOoPpT]+))+([А-ЯЁа-яё]*)/u",
  11. "symbolChecker" => "/(([А-ЯЁа-яё]+)([AaBCcEeHKMOoPpT]+))/u",
  12. ),
  13. "wordChecker" => "/\b(([A-Za-z]+)([АаВСсЕеНКМОоРрТ]+))+([A-Za-z]*)/u",
  14. "symbolChecker" => "/(([A-Za-z]+)([АаВСсЕеНКМОоРрТ]+))/u",
  15. ),
  16. );
  17. foreach($regexp as $rule){
  18. $matchWord = array();
  19. preg_match_all($rule['wordChecker'], $input, $matchWord);
  20. foreach($matchWord[0] as $index => $wrongWord){
  21. echo "Опечатка в слове {$wrongWord}: ";
  22. $matchSymbol = array();
  23. preg_match_all($rule['symbolChecker'], $wrongWord, $matchSymbol);
  24. $wrongWord = "";
  25. foreach($matchSymbol[0] as $keyIndex => $key){
  26. $wrongWord .= $matchSymbol[2][$keyIndex]."[".$matchSymbol[3][$keyIndex]."]";
  27. }
  28. echo $wrongWord.$matchWord[4][$index]."\n";
  29. }
  30. }
Success #stdin #stdout 0.02s 52472KB
stdin
Standard input is empty
stdout
Опечатка в слове пocтaвку: п[oc]т[a]вку
Опечатка в слове кaнцелярских: к[a]нцелярских
Опечатка в слове Sаmple: S[а]mple