fork download
  1. <?php
  2.  
  3. // Navalny_bot v1.2
  4.  
  5. $text = 'Hello World Пocтaвкa мяco гoвядины, бecкостнoe для нужд государственного бюджетного учреждения
  6. здравоохранения Республики Башкортостан Инфекционная клиническая больница № 4 города Уфа';
  7. $similarLetters = [
  8. 'a' => 'а', 'A' => 'А', 'B' => 'В', 'c' => 'с',
  9. 'C' => 'С', 'e' => 'е', 'E' => 'Е', 'K' => 'К',
  10. 'M' => 'М', 'o' => 'о', 'O' => 'О', 'p' => 'р',
  11. 'P' => 'Р', 'T' => 'Т', 'x' => 'х', 'X' => 'Х'
  12. ];
  13.  
  14. function checkForTypos($text) {
  15. if (preg_match_all('/(([а-яёА-ЯЁ]+)?([a-zA-Z])([а-яёА-ЯЁ]+)?){1,}/ui', $text, $matches)) {
  16. foreach($matches[0] as $value) {
  17. $result = preg_replace('/([а-яёА-ЯЁ]+)?([a-zA-Z])([а-яёА-ЯЁ]+)?/ui', '$1[$2]$3', $value);
  18. echo "Опечатка в слове $value: $result\n";
  19. }
  20. } else {
  21. echo "Текст успешно исправлен, опечаток больше нет!";
  22. exit();
  23. }
  24. }
  25.  
  26. $replacement = strtr($text, $similarLetters);
  27.  
  28. $before = checkForTypos($text);
  29. $after = checkForTypos($replacement);
  30.  
  31. echo "{$before}";
  32. echo "{$after}";
Success #stdin #stdout 0.03s 24016KB
stdin
Standard input is empty
stdout
Опечатка в слове Hello: [H][e][l][l][o]
Опечатка в слове World: [W][o][r][l][d]
Опечатка в слове Пocтaвкa: П[o][c]т[a]вк[a]
Опечатка в слове мяco: мя[c][o]
Опечатка в слове гoвядины: г[o]вядины
Опечатка в слове бecкостнoe: б[e][c]костн[o][e]
Опечатка в слове Hеllо: [H]е[l][l]о
Опечатка в слове Wоrld: [W]о[r][l][d]