fork download
  1. <?php
  2.  
  3. // Navalny v1.1
  4.  
  5. $textRu = 'Пocтaвкa мяco гoвядины, бecкостнoe для нужд государственного бюджетного учреждения
  6. здравоохранения Республики Башкортостан Инфекционная клиническая больница № 4 города Уфа';
  7. $textEn = 'Never gоnna give уоu up, Never gonna let yоu dоwn, Nеver gonna run аround and desert you';
  8. /* Регулярка для поиска */
  9. $regexpSearchRu = '/(([а-яёА-ЯЁ]+)?([a-zA-Z])([а-яёА-ЯЁ]+)?){1,}/ui';
  10. /* Регулярка для замены */
  11. $regexpReplaceRu = '/([а-яёА-ЯЁ]+)?([a-zA-Z])([а-яёА-ЯЁ]+)?/ui';
  12. $regexpSearchEn = '/(([a-zA-Z]+)?([а-яёА-ЯЁ])([a-zA-Z]+)?){1,}/ui';
  13. $regexpReplaceEn = '/([a-zA-Z]+)?([а-яёА-ЯЁ])([a-zA-Z]+)?/ui';
  14.  
  15. function checkForTypos($regexpSearch, $regexpReplace, $text) {
  16. /* Находим слова с опечатками и добавляем их в массив */
  17. if (preg_match_all($regexpSearch, $text, $matches)) {
  18. /* Разбираем массив на переменные */
  19. foreach($matches[0] as $value) {
  20. /* Обрамляем опечатку скобкой */
  21. $result = preg_replace($regexpReplace, '$1[$2]$3', $value);
  22. echo "Опечатка в слове $value: $result\n";
  23. }
  24. } else {
  25. echo "Опечаток нет!";
  26. exit();
  27. }
  28. }
  29.  
  30. $typosRu = checkForTypos($regexpSearchRu, $regexpReplaceRu, $textRu);
  31. $typosEn = checkForTypos($regexpSearchEn, $regexpReplaceEn, $textEn);
  32.  
  33. echo "{$typosRu}";
  34. echo "{$typosEn}";
Success #stdin #stdout 0.02s 23988KB
stdin
Standard input is empty
stdout
Опечатка в слове Пocтaвкa: П[o][c]т[a]вк[a]
Опечатка в слове мяco: мя[c][o]
Опечатка в слове гoвядины: г[o]вядины
Опечатка в слове бecкостнoe: б[e][c]костн[o][e]
Опечатка в слове gоnna: g[о]nna
Опечатка в слове уоu: [у][о]u
Опечатка в слове yоu: y[о]u
Опечатка в слове dоwn: d[о]wn
Опечатка в слове Nеver: N[е]ver
Опечатка в слове аround: [а]round