<?php
    error_reporting(-1);
    mb_internal_encoding('utf-8');

    function checkText($text, $patternRus, $patternEng){
        $array = explode (" ", $text);
	    foreach ($array as $word)	    {
		    if (preg_match('/^[а-яё]/ui', $word)){
			    $highlights = preg_replace($patternRus, "$1[$2]", $word);
			    echo "{$highlights} ";
		    }
		    if (preg_match('/^[a-z]/ui', $word)){
			    $highlights = preg_replace($patternEng, "$1[$2]", $word);
			    echo "{$highlights} ";
		    }
        }
		echo "\n";
    }
	
	function correctText($text, $replacementRus, $replacementEng){
		$array = explode (" ", $text);
		$correctedArr = [];
	    foreach ($array as $word){
			if (preg_match('/^([а-яё.,;?!]+)([a-z]+)/ui', $word)){ //пришлось добавить условие начала строки, чтобы точно знать, на каком языке слово
			    $word = strtr($word, $replacementRus);
		    }
		    if (preg_match('/^([a-z.,;?!]+)([а-яё]+)/ui', $word)){
			    $word = strtr($word, $replacementEng);
		    }
			array_push($correctedArr, $word);
        }
		$correctedStr = implode(' ', $correctedArr);
		return $correctedStr;
	}
	
    $replacementRus = ['a' => 'а',
                       'A' => 'А',
                       'B' => 'В',
                       'C' => 'С', 
                       'c' => 'с', 
                       'e' => 'е', 
                       'E' => 'Е', 
                       'H' => 'Н',
                       'K' => 'К',
                       'M' => 'М',
                       'o' => 'о',
                       'O' => 'О',
                       'p' => 'р',
                       'P' => 'Р',
                       'T' => 'Т',
                       'x' => 'х',
                       'X' => 'Х',
                       'y' => 'у'];
	$replacementEng = array_flip($replacementRus);
	
    $text = "выпoлнение рабoт по комплекснoму благоустрoйству двoрoвой территoрии по адресу: ул.Kурьянoва д.2 к.2 tеrritоry батapeя st.Аnger, ПPИBET";

	$patternRus = '/([а-яё.,;?!]+)([a-z]+)/ui';
	$patternEng = '/([a-z.,;?!]+)([а-яё]+)/ui';
    
	echo "Исходный текст:\n";
    checkText($text, $patternRus, $patternEng);
    
	$correctedText = correctText($text, $replacementRus, $replacementEng);
	
	echo "Исправленный текст:\n";
	checkText($correctedText, $patternRus, $patternEng);
?>