<?php

error_reporting(-1);

$matches = [];

$misprints = [
		//английский символ, русский символ
		['/([а-я-]+|\s|\A|,)(e)(\.|\s|[а-я-]+|\Z|,)/ui', 'е'],
		['/([а-я-]+|\s|\A|,)(y)(\.|\s|[а-я-]+|\Z|,)/ui', 'у'],
		['/([а-я-]+|\s|\A|,)(o)(\.|\s|[а-я-]+|\Z|,)/ui', 'о'],
		['/([а-я-]+|\s|\A|,)(p)(\.|\s|[а-я-]+|\Z|,)/ui', 'р'],
		['/([а-я-]+|\s|\A|,)(x)(\.|\s|[а-я-]+|\Z|,)/ui', 'х'],
		['/([а-я-]+|\s|\A|,)(a)(\.|\s|[а-я-]+|\Z|,)/ui', 'а'],
		['/([а-я-]+|\s|\A|,)(c)(\.|\s|[а-я-]+|\Z|,)/ui', 'с'],
		//русский символ, английский символ
		['/([a-z-]+|\s|\A|,)(е)(\.|\s|[a-z-]+|\Z|,)/ui', 'e'],
		['/([a-z-]+|\s|\A|,)(у)(\.|\s|[a-z-]+|\Z|,)/ui', 'y'],
		['/([a-z-]+|\s|\A|,)(о)(\.|\s|[a-z-]+|\Z|,)/ui', 'o'],
		['/([a-z-]+|\s|\A|,)(р)(\.|\s|[a-z-]+|\Z|,)/ui', 'p'],
		['/([a-z-]+|\s|\A|,)(х)(\.|\s|[a-z-]+|\Z|,)/ui', 'x'],
		['/([a-z-]+|\s|\A|,)(а)(\.|\s|[a-z-]+|\Z|,)/ui', 'a'],
		['/([a-z-]+|\s|\A|,)(с)(\.|\s|[a-z-]+|\Z|,)/ui', 'c']
];

// м'o'бильных, т'e'лефонов, 'c'мартфонов - анг.символы
//fl'y' - русский символ

$text = <<<EOF
ПУБЛИЧНОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО "ТАТТЕЛЕКОМ"
Поставка мoбильных тeлефонов и cмартфонов flу.
Начальная цена: 87360
EOF
;

foreach ($misprints as $misprint) {
	if(preg_match_all($misprint[0], $text, $words)){
		foreach ($words[0] as $word) {
			$word = trim($word, " .,");
			$wordWithError = trim(preg_replace($misprint[0], '$1[$2]$3', $word), " .,");
			echo "Опечатка в слове {$word}: {$wordWithError}\n";
		}
		$text = preg_replace($misprint[0], "$1{$misprint[1]}$3", $text);
	}
}

echo "{$text}\n";