<?php
$text = "
МУУ ГОУУО ОПП Омской области обьявляет
конкурс на постaвку кaнцелярских тoваров фирмы Fuсk Pаper
на сумму 100500 рублeй."; //Текст для проверки
$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 "Подмен латинских букв нет.";
}
}
PD9waHAKZXJyb3JfcmVwb3J0aW5nKC0xKTsKJHRleHQgICAgICAgICAgID0gIgrQnNCj0KMg0JPQntCj0KPQniDQntCf0J8g0J7QvNGB0LrQvtC5INC+0LHQu9Cw0YHRgtC4INC+0LHRjNGP0LLQu9GP0LXRggrQutC+0L3QutGD0YDRgSDQvdCwINC/0L7RgdGCYdCy0LrRgyDQumHQvdGG0LXQu9GP0YDRgdC60LjRhSDRgm/QstCw0YDQvtCyINGE0LjRgNC80YsgRnXRgWsgUNCwcGVyCtC90LAg0YHRg9C80LzRgyAxMDA1MDAg0YDRg9Cx0Ltl0LkuIjsgLy/QotC10LrRgdGCINC00LvRjyDQv9GA0L7QstC10YDQutC4CiRyZWdleExhdGluICAgICA9ICIvW9CwLdGP0JAt0K/RkdCBXStbYS16QS1aXStb0LAt0Y/QkC3Qr9GR0IFdKy9pdSI7IC8v0KDQtdCz0YPQu9GP0YDQutCwINC00LvRjyDQv9C+0LjRgdC60LAg0LvQsNGC0LjQvdC40YbRiyDQv9GA0L7QvNC10LYg0YDRg9GB0YHQutC40YUg0LHRg9C60LIKJHJlZ2V4UnVzICAgICAgID0gIi9bYS16QS1aXStb0LAt0Y/QkC3Qr9GR0IFdK1thLXpBLVpdKy9pdSI7IC8v0KDQtdCz0YPQu9GP0YDQutCwINC00LvRjyDQv9C+0LjRgdC60LAg0YDRg9GB0YHQutC40YUg0LHRg9C60LIg0L/RgNC+0LzQtdC2INC70LDRgtC40L3QuNGG0YsKJHJlZ2V4TGF0aW5NYXJrID0gIi9bYS16QS1aXS9pdSI7IC8v0KDQtdCz0YPQu9GP0YDQutCwINC/0L7QuNGB0LrQsCDQu9Cw0YLQuNC90YHQutC40YUg0LHRg9C60LIg0LTQu9GPINC30LDQvNC10L3RiwokcmVnZXhSdXNNYXJrICAgPSAiL1vQsC3Rj9CQLdCv0ZHQgV0vaXUiOyAvL9Cg0LXQs9GD0LvRj9GA0LrQsCDQv9C+0LjRgdC60LAg0YDRg9GB0YHQutC40YUg0LHRg9C60LIg0LTQu9GPINC30LDQvNC10L3RiwokbWF0Y2hlc0xhdGluICAgPSBhcnJheSgpOyAvL9Cc0LDRgdGB0LjQsiDQtNC70Y8g0YDQtdC30YPQu9GM0YLQsNGC0L7QsiDQv9C+INC70LDRgtC40L3QuNGG0LUKJG1hdGNoZXNSdXMgICAgID0gYXJyYXkoKTsgLy/QnNCw0YHRgdC40LIg0LTQu9GPINGA0LXQt9GD0LvRjNGC0LDRgtC+0LIg0L/QviDRgNGD0YHRgdC60LjQvCDQsdGD0LrQstCw0LwKJGZvdW5kTGF0aW4gICAgID0gcHJlZ19tYXRjaF9hbGwoJHJlZ2V4TGF0aW4sICR0ZXh0LCAkbWF0Y2hlc0xhdGluKTsgLy/Qn9C+0LTRgdGH0LXRgiDQv9C+0LTQvNC10L3RiyDQu9Cw0YLQuNC90LjRhtGLK9C30LDQvdC10YHQtdC90LjQtSDRgNC10LfRg9C70YzRgtCw0YLQvtCyINCyINC80LDRgdGB0LjQsgokZm91bmRSdXMgICAgICAgPSBwcmVnX21hdGNoX2FsbCgkcmVnZXhSdXMsICR0ZXh0LCAkbWF0Y2hlc1J1cyk7IC8v0J/QvtC00YHRh9C10YIg0L/QvtC00LzQtdC90Ysg0YDRg9GB0YHQutC40YUg0LHRg9C60LIr0LfQsNC90LXRgdC10L3QuNC1INGA0LXQt9GD0LvRjNGC0LDRgtC+0LIg0LIg0LzQsNGB0YHQuNCyCiRmb3VuZFN1bSAgICAgICA9ICRmb3VuZExhdGluICsgJGZvdW5kUnVzOyAvL9Cf0L7QtNGB0YfQtdGCINGB0YPQvNC80LDRgNC90L7QuSDQv9C+0LTQvNC10L3QvdGL0LkKJG1hdGNoZXNMYXRpbiAgID0gcHJlZ19yZXBsYWNlKCRyZWdleExhdGluTWFyaywgJ1skMF0nLCAkbWF0Y2hlc0xhdGluWzBdKTsKJG1hdGNoZXNSdXMgICAgID0gcHJlZ19yZXBsYWNlKCRyZWdleFJ1c01hcmssICdbJDBdJywgJG1hdGNoZXNSdXNbMF0pOyAvL9CX0LDQvNC10L3QsCDQv9C+0LTQvNC10L3QtdC90L3Ri9GFINGA0YPRgdGB0LrQuNGFINCx0YPQutCyLCDRgNGD0YHRgdC60LjQtSDQsdGD0LrQstGLINC00L7Qu9C20L3RiyDQt9Cw0LrQu9GO0YfQsNGC0YzRgdGPINCyINC60LLQsNC00YDQsNGC0L3Ri9C1INGB0LrQvtCx0LrQuAplY2hvICLQndCw0LnQtNC10L3QviAkZm91bmRTdW0g0L/QvtC00LzQtdC9LiDQmNC3INC90LjRhSAkZm91bmRMYXRpbiDQv9C+0LTQvNC10L0g0YDRg9GB0YHQutC40YUg0LHRg9C60LIg0LvQsNGC0LjQvdC40YbQtdC5INC4ICRmb3VuZFJ1cyDQv9C+0LTQvNC10L0g0LvQsNGC0LjQvdGB0LrQuNGFINCx0YPQutCyINGA0YPRgdGB0LrQuNC80LguIFxuIjsKaWYgKCRmb3VuZFN1bSA+IDApIHsKICAgIGlmICgkZm91bmRMYXRpbiA+IDApIHsKICAgICAgICBlY2hvICLQn9C+0LTQvNC10L3RiyDRgNGD0YHRgdC60LjRhSDQsdGD0LrQsjogXG4iOwogICAgICAgIGZvcmVhY2ggKCRtYXRjaGVzTGF0aW4gYXMgJGtleSA9PiAkd29yZCkgewogICAgICAgICAgICAka2V5Kys7CiAgICAgICAgICAgIHByaW50ICJ7JGtleX0pIHskd29yZH1cbiI7CiAgICAgICAgfQogICAgICAgIHVuc2V0KCRrZXkpOwogICAgICAgIHVuc2V0KCR3b3JkKTsKICAgIH0gZWxzZSB7CiAgICAgICAgZWNobyAi0J/QvtC00LzQtdC9INGA0YPRgdGB0LrQuNGFINCx0YPQutCyINC90LXRgi4iOwogICAgfQogICAgaWYgKCRmb3VuZFJ1cyA+IDApIHsKICAgICAgICBlY2hvICLQn9C+0LTQvNC10L3RiyDQu9Cw0YLQuNC90YHQutC40YUg0LHRg9C60LI6IFxuIjsKICAgICAgICBmb3JlYWNoICgkbWF0Y2hlc1J1cyBhcyAka2V5ID0+ICR3b3JkKSB7CiAgICAgICAgICAgICRrZXkrKzsKICAgICAgICAgICAgcHJpbnQgInska2V5fSkgeyR3b3JkfVxuIjsKICAgICAgICB9CiAgICAgICAgdW5zZXQoJGtleSk7CiAgICAgICAgdW5zZXQoJHdvcmQpOwogICAgfSBlbHNlIHsKICAgICAgICBlY2hvICLQn9C+0LTQvNC10L0g0LvQsNGC0LjQvdGB0LrQuNGFINCx0YPQutCyINC90LXRgi4iOwogICAgfQp9