fork download
  1. <?php
  2. $text = "
  3. HellО Привеt"; //Текст для проверки
  4. $regexLatin = "/[а-яА-ЯёЁ]+[a-zA-Z]+[а-яА-ЯёЁ]+/iu"; //Регулярка для поиска латиницы промеж русских букв
  5. $regexRus = "/[a-zA-Z]+[а-яА-ЯёЁ]+[a-zA-Z]+/iu"; //Регулярка для поиска русских букв промеж латиницы
  6. $regexLatinMark = "/[a-zA-Z]/iu"; //Регулярка поиска латинских букв для замены
  7. $regexRusMark = "/[а-яА-ЯёЁ]/iu"; //Регулярка поиска русских букв для замены
  8. $matchesLatin = array(); //Массив для результатов по латинице
  9. $matchesRus = array(); //Массив для результатов по русским буквам
  10. $foundLatin = preg_match_all($regexLatin, $text, $matchesLatin); //Подсчет подмены латиницы+занесение результатов в массив
  11. $foundRus = preg_match_all($regexRus, $text, $matchesRus); //Подсчет подмены русских букв+занесение результатов в массив
  12. $foundSum = $foundLatin + $foundRus; //Подсчет суммарной подменный
  13. $matchesLatin = preg_replace($regexLatinMark, '[$0]', $matchesLatin[0]);
  14. $matchesRus = preg_replace($regexRusMark, '[$0]', $matchesRus[0]); //Замена подмененных русских букв, русские буквы должны заключаться в квадратные скобки
  15. echo "Найдено $foundSum подмен. Из них $foundLatin подмен русских букв латиницей и $foundRus подмен латинских букв русскими. \n";
  16. if ($foundSum > 0) {
  17. if ($foundLatin > 0) {
  18. echo "Подмены русских букв: \n";
  19. foreach ($matchesLatin as $key => $word) {
  20. $key++;
  21. print "{$key}) {$word}\n";
  22. }
  23. unset($key);
  24. unset($word);
  25. } else {
  26. echo "Подмен русских букв нет.";
  27. }
  28. if ($foundRus > 0) {
  29. echo "Подмены латинских букв: \n";
  30. foreach ($matchesRus as $key => $word) {
  31. $key++;
  32. print "{$key}) {$word}\n";
  33. }
  34. unset($key);
  35. unset($word);
  36. } else {
  37. echo "Подмен латинских букв нет.";
  38. }
  39. }
Success #stdin #stdout 0.01s 24448KB
stdin
Standard input is empty
stdout
Найдено 0 подмен. Из них 0 подмен русских букв латиницей и 0 подмен латинских букв русскими.