fork download
  1. <?php
  2.  
  3.  
  4. $text = <<<EOF
  5. размещение государственного заказа на право заключение государственного контракта на выпoлнение pабoт по комплекснoму благоустрoйству двoрoвой территoрии по адресу: ул.Гурьянoва д.2 к.2
  6. EOF
  7. ;
  8.  
  9. $regexp = '/([а-яё]*)(o|p|e|a|x)([а-яё]*)/ui';
  10.  
  11. $text = preg_replace($regexp, '$1[$2]$3', $text);
  12.  
  13. $regexp = '/[^ .]*\\[(o|p|e|a|x)\\][^ .]*/ui';
  14.  
  15. $matches = array();
  16. $result = preg_match_all($regexp, $text, $matches);
  17.  
  18. $regexp = '/([а-яё]*)(o|p|e|a|x)([а-яё]*)/ui';
  19. $patterns = array();
  20. $patterns[0] = '/\\[o\\]/ui';
  21. $patterns[1] = '/\\[p\\]/ui';
  22. $patterns[2] = '/\\[e\\]/ui';
  23. $patterns[3] = '/\\[a\\]/ui';
  24. $patterns[4] = '/\\[x\\]/ui';
  25.  
  26. $replacements = array();
  27. $replacements[0] = 'о';
  28. $replacements[1] = 'р';
  29. $replacements[2] = 'е';
  30. $replacements[3] = 'а';
  31. $replacements[4] = 'х';
  32.  
  33. foreach ($matches[0] as $match){
  34. echo "Найдена опечатка в тексте:{$match}\n";
  35. $text = preg_replace($patterns, $replacements, $text);
  36. }
  37.  
  38.  
  39. echo $text;
Success #stdin #stdout 0s 82944KB
stdin
Standard input is empty
stdout
Найдена опечатка в тексте:вып[o]лнение
Найдена опечатка в тексте:[p]аб[o]т
Найдена опечатка в тексте:комплексн[o]му
Найдена опечатка в тексте:благоустр[o]йству
Найдена опечатка в тексте:дв[o]р[o]вой
Найдена опечатка в тексте:террит[o]рии
Найдена опечатка в тексте:Гурьян[o]ва
размещение государственного заказа на право заключение государственного контракта на выполнение работ по комплексному благоустройству дворовой территории по адресу: ул.Гурьянова д.2 к.2