fork download
  1. <?php
  2.  
  3.  
  4. $matches = [];
  5.  
  6. $misprints = [
  7. //английский символ, русский символ
  8. ['/([а-я-]+|\s|\A|,)(e)(\.|\s|[а-я-]+|\Z|,)/ui', 'е'],
  9. ['/([а-я-]+|\s|\A|,)(y)(\.|\s|[а-я-]+|\Z|,)/ui', 'у'],
  10. ['/([а-я-]+|\s|\A|,)(o)(\.|\s|[а-я-]+|\Z|,)/ui', 'о'],
  11. ['/([а-я-]+|\s|\A|,)(p)(\.|\s|[а-я-]+|\Z|,)/ui', 'р'],
  12. ['/([а-я-]+|\s|\A|,)(x)(\.|\s|[а-я-]+|\Z|,)/ui', 'х'],
  13. ['/([а-я-]+|\s|\A|,)(a)(\.|\s|[а-я-]+|\Z|,)/ui', 'а'],
  14. ['/([а-я-]+|\s|\A|,)(c)(\.|\s|[а-я-]+|\Z|,)/ui', 'с'],
  15. //русский символ, английский символ
  16. ['/([a-z-]+|\s|\A|,)(е)(\.|\s|[a-z-]+|\Z|,)/ui', 'e'],
  17. ['/([a-z-]+|\s|\A|,)(у)(\.|\s|[a-z-]+|\Z|,)/ui', 'y'],
  18. ['/([a-z-]+|\s|\A|,)(о)(\.|\s|[a-z-]+|\Z|,)/ui', 'o'],
  19. ['/([a-z-]+|\s|\A|,)(р)(\.|\s|[a-z-]+|\Z|,)/ui', 'p'],
  20. ['/([a-z-]+|\s|\A|,)(х)(\.|\s|[a-z-]+|\Z|,)/ui', 'x'],
  21. ['/([a-z-]+|\s|\A|,)(а)(\.|\s|[a-z-]+|\Z|,)/ui', 'a'],
  22. ['/([a-z-]+|\s|\A|,)(с)(\.|\s|[a-z-]+|\Z|,)/ui', 'c']
  23. ];
  24.  
  25. // м'o'бильных, т'e'лефонов, 'c'мартфонов - анг.символы
  26. //fl'y' - русский символ
  27.  
  28. $text = <<<EOF
  29. ПУБЛИЧНОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО "ТАТТЕЛЕКОМ"
  30. Поставка мoбильных тeлефонов и cмартфонов flу.
  31. Начальная цена: 87360
  32. EOF
  33. ;
  34.  
  35. foreach ($misprints as $misprint) {
  36. if(preg_match_all($misprint[0], $text, $words)){
  37. foreach ($words[0] as $word) {
  38. $word = trim($word, " .,");
  39. $wordWithError = trim(preg_replace($misprint[0], '$1[$2]$3', $word), " .,");
  40. echo "Опечатка в слове {$word}: {$wordWithError}\n";
  41. }
  42. $text = preg_replace($misprint[0], "$1{$misprint[1]}$3", $text);
  43. }
  44. }
  45.  
  46. echo "{$text}\n";
Success #stdin #stdout 0.02s 82624KB
stdin
Standard input is empty
stdout
Опечатка в слове тeлефонов: т[e]лефонов
Опечатка в слове мoбильных: м[o]бильных
Опечатка в слове cмартфонов: [c]мартфонов
Опечатка в слове flу: fl[у]
ПУБЛИЧНОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО "ТАТТЕЛЕКОМ"
Поставка мобильных телефонов и смартфонов fly.
Начальная цена: 87360