<?php
$text = "
HellО Привеt"; //Текст для проверки
$regexLatin = "/[а-яА-ЯёЁ]+[a-zA-Z]+[а-яА-ЯёЁ]+/iu"; //Регулярка для поиска латиницы промеж русских букв
$regexRus = "/[a-zA-Z]+[а-яА-ЯёЁ]+[a-zA-Z]+/iu"; //Регулярка для поиска русских букв промеж латиницы
$regexLatinMark = "/[a-zA-Z]/iu"; //Регулярка поиска латинских букв для замены
$regexRusMark = "/[а-яА-ЯёЁ]/iu"; //Регулярка поиска русских букв для замены
$matchesLatin = array(); //Массив для результатов по латинице $matchesRus = array(); //Массив для результатов по русским буквам $foundLatin = preg_match_all($regexLatin, $text, $matchesLatin); //Подсчет подмены латиницы+занесение результатов в массив $foundRus = preg_match_all($regexRus, $text, $matchesRus); //Подсчет подмены русских букв+занесение результатов в массив $foundSum = $foundLatin + $foundRus; //Подсчет суммарной подменный
$matchesLatin = preg_replace($regexLatinMark, '[$0]', $matchesLatin[0]); $matchesRus = preg_replace($regexRusMark, '[$0]', $matchesRus[0]); //Замена подмененных русских букв, русские буквы должны заключаться в квадратные скобки echo "Найдено $foundSum подмен. Из них $foundLatin подмен русских букв латиницей и $foundRus подмен латинских букв русскими. \n";
if ($foundSum > 0) {
if ($foundLatin > 0) {
echo "Подмены русских букв: \n";
foreach ($matchesLatin as $key => $word) {
$key++;
print "{$key}) {$word}\n";
}
} else {
echo "Подмен русских букв нет.";
}
if ($foundRus > 0) {
echo "Подмены латинских букв: \n";
foreach ($matchesRus as $key => $word) {
$key++;
print "{$key}) {$word}\n";
}
} else {
echo "Подмен латинских букв нет.";
}
}
PD9waHAKZXJyb3JfcmVwb3J0aW5nKC0xKTsKJHRleHQgICAgICAgICAgID0gIgpIZWxs0J4g0J/RgNC40LLQtXQiOyAvL9Ci0LXQutGB0YIg0LTQu9GPINC/0YDQvtCy0LXRgNC60LgKJHJlZ2V4TGF0aW4gICAgID0gIi9b0LAt0Y/QkC3Qr9GR0IFdK1thLXpBLVpdK1vQsC3Rj9CQLdCv0ZHQgV0rL2l1IjsgLy/QoNC10LPRg9C70Y/RgNC60LAg0LTQu9GPINC/0L7QuNGB0LrQsCDQu9Cw0YLQuNC90LjRhtGLINC/0YDQvtC80LXQtiDRgNGD0YHRgdC60LjRhSDQsdGD0LrQsgokcmVnZXhSdXMgICAgICAgPSAiL1thLXpBLVpdK1vQsC3Rj9CQLdCv0ZHQgV0rW2EtekEtWl0rL2l1IjsgLy/QoNC10LPRg9C70Y/RgNC60LAg0LTQu9GPINC/0L7QuNGB0LrQsCDRgNGD0YHRgdC60LjRhSDQsdGD0LrQsiDQv9GA0L7QvNC10LYg0LvQsNGC0LjQvdC40YbRiwokcmVnZXhMYXRpbk1hcmsgPSAiL1thLXpBLVpdL2l1IjsgLy/QoNC10LPRg9C70Y/RgNC60LAg0L/QvtC40YHQutCwINC70LDRgtC40L3RgdC60LjRhSDQsdGD0LrQsiDQtNC70Y8g0LfQsNC80LXQvdGLCiRyZWdleFJ1c01hcmsgICA9ICIvW9CwLdGP0JAt0K/RkdCBXS9pdSI7IC8v0KDQtdCz0YPQu9GP0YDQutCwINC/0L7QuNGB0LrQsCDRgNGD0YHRgdC60LjRhSDQsdGD0LrQsiDQtNC70Y8g0LfQsNC80LXQvdGLCiRtYXRjaGVzTGF0aW4gICA9IGFycmF5KCk7IC8v0JzQsNGB0YHQuNCyINC00LvRjyDRgNC10LfRg9C70YzRgtCw0YLQvtCyINC/0L4g0LvQsNGC0LjQvdC40YbQtQokbWF0Y2hlc1J1cyAgICAgPSBhcnJheSgpOyAvL9Cc0LDRgdGB0LjQsiDQtNC70Y8g0YDQtdC30YPQu9GM0YLQsNGC0L7QsiDQv9C+INGA0YPRgdGB0LrQuNC8INCx0YPQutCy0LDQvAokZm91bmRMYXRpbiAgICAgPSBwcmVnX21hdGNoX2FsbCgkcmVnZXhMYXRpbiwgJHRleHQsICRtYXRjaGVzTGF0aW4pOyAvL9Cf0L7QtNGB0YfQtdGCINC/0L7QtNC80LXQvdGLINC70LDRgtC40L3QuNGG0Ysr0LfQsNC90LXRgdC10L3QuNC1INGA0LXQt9GD0LvRjNGC0LDRgtC+0LIg0LIg0LzQsNGB0YHQuNCyCiRmb3VuZFJ1cyAgICAgICA9IHByZWdfbWF0Y2hfYWxsKCRyZWdleFJ1cywgJHRleHQsICRtYXRjaGVzUnVzKTsgLy/Qn9C+0LTRgdGH0LXRgiDQv9C+0LTQvNC10L3RiyDRgNGD0YHRgdC60LjRhSDQsdGD0LrQsivQt9Cw0L3QtdGB0LXQvdC40LUg0YDQtdC30YPQu9GM0YLQsNGC0L7QsiDQsiDQvNCw0YHRgdC40LIKJGZvdW5kU3VtICAgICAgID0gJGZvdW5kTGF0aW4gKyAkZm91bmRSdXM7IC8v0J/QvtC00YHRh9C10YIg0YHRg9C80LzQsNGA0L3QvtC5INC/0L7QtNC80LXQvdC90YvQuQokbWF0Y2hlc0xhdGluICAgPSBwcmVnX3JlcGxhY2UoJHJlZ2V4TGF0aW5NYXJrLCAnWyQwXScsICRtYXRjaGVzTGF0aW5bMF0pOwokbWF0Y2hlc1J1cyAgICAgPSBwcmVnX3JlcGxhY2UoJHJlZ2V4UnVzTWFyaywgJ1skMF0nLCAkbWF0Y2hlc1J1c1swXSk7IC8v0JfQsNC80LXQvdCwINC/0L7QtNC80LXQvdC10L3QvdGL0YUg0YDRg9GB0YHQutC40YUg0LHRg9C60LIsINGA0YPRgdGB0LrQuNC1INCx0YPQutCy0Ysg0LTQvtC70LbQvdGLINC30LDQutC70Y7Rh9Cw0YLRjNGB0Y8g0LIg0LrQstCw0LTRgNCw0YLQvdGL0LUg0YHQutC+0LHQutC4CmVjaG8gItCd0LDQudC00LXQvdC+ICRmb3VuZFN1bSDQv9C+0LTQvNC10L0uINCY0Lcg0L3QuNGFICRmb3VuZExhdGluINC/0L7QtNC80LXQvSDRgNGD0YHRgdC60LjRhSDQsdGD0LrQsiDQu9Cw0YLQuNC90LjRhtC10Lkg0LggJGZvdW5kUnVzINC/0L7QtNC80LXQvSDQu9Cw0YLQuNC90YHQutC40YUg0LHRg9C60LIg0YDRg9GB0YHQutC40LzQuC4gXG4iOwppZiAoJGZvdW5kU3VtID4gMCkgewogICAgaWYgKCRmb3VuZExhdGluID4gMCkgewogICAgICAgIGVjaG8gItCf0L7QtNC80LXQvdGLINGA0YPRgdGB0LrQuNGFINCx0YPQutCyOiBcbiI7CiAgICAgICAgZm9yZWFjaCAoJG1hdGNoZXNMYXRpbiBhcyAka2V5ID0+ICR3b3JkKSB7CiAgICAgICAgICAgICRrZXkrKzsKICAgICAgICAgICAgcHJpbnQgInska2V5fSkgeyR3b3JkfVxuIjsKICAgICAgICB9CiAgICAgICAgdW5zZXQoJGtleSk7CiAgICAgICAgdW5zZXQoJHdvcmQpOwogICAgfSBlbHNlIHsKICAgICAgICBlY2hvICLQn9C+0LTQvNC10L0g0YDRg9GB0YHQutC40YUg0LHRg9C60LIg0L3QtdGCLiI7CiAgICB9CiAgICBpZiAoJGZvdW5kUnVzID4gMCkgewogICAgICAgIGVjaG8gItCf0L7QtNC80LXQvdGLINC70LDRgtC40L3RgdC60LjRhSDQsdGD0LrQsjogXG4iOwogICAgICAgIGZvcmVhY2ggKCRtYXRjaGVzUnVzIGFzICRrZXkgPT4gJHdvcmQpIHsKICAgICAgICAgICAgJGtleSsrOwogICAgICAgICAgICBwcmludCAieyRrZXl9KSB7JHdvcmR9XG4iOwogICAgICAgIH0KICAgICAgICB1bnNldCgka2V5KTsKICAgICAgICB1bnNldCgkd29yZCk7CiAgICB9IGVsc2UgewogICAgICAgIGVjaG8gItCf0L7QtNC80LXQvSDQu9Cw0YLQuNC90YHQutC40YUg0LHRg9C60LIg0L3QtdGCLiI7CiAgICB9Cn0=