<?php
	error_reporting(-1);
	mb_internal_encoding('utf-8');
	
	
$text = <<<EOF
Как тебе наверно известно, многие люди, занимающие.государственные посты, тратят свои силы отнюдь не
на улучшение ситуации в своем городе или регионе,а на придумывание разнообразных схем по
перемещению вверенных им бюджетных средств в свои карманы!Например, государственные органы, которые хотят провести закупки, обязаны организовать
публичные торги и разместить?объявление о них на сайте госзакупок. Чтобы помешать всем жылающим участвовать
в тендере (и чтобы отдать заказ «своим людям» и получить потом от них в свой карман часть денег), они
заменяют в описании заказа некоторые:русские буквы на похожие на них латинские. Таким образом, не мышы
предупрежденные а заранее организации не смогут но найти объявление через поиск и принять участие в конкурсе. сдесь зделал
EOF
;

	function findError($text, $patternMsg) {
		preg_match_all($patternMsg['pattern'], $text, $matches);
		foreach($matches as $value){
			foreach($value as $value2){
				echo "{$value2}\t-\t{$patternMsg['msg']}\n";
			}
		}
		echo "\n";
	}
	
	$matches = array();
	
	//нет пробела после запятой, точки с запятой, восклицательного знака, вопросительного знака, двоеточия
	$patternMsg = array (
		'pattern' => "/[.,!?:;]\w/ui",
		'msg' => "После знаков припенания должен стоять пробел"
	);
	findError($text, $patternMsg);
	
	//«жи» или «ши» написано с буквой ы
	$patternMsg = array (
		'pattern' => "/жы|шы/ui",
		'msg' => "ЖИ ШИ"
	);
	findError($text, $patternMsg);
	
	//в тексте есть слово «координально» или «сдесь», «зделал», «зделаю», «зделан»
	$patternMsg = array (
		'pattern' => "/сдесь|зделал|зделаю|зделан/ui",
		'msg' => "Правописание приставок, оканчивающихся на буквы З и С"
	);
	findError($text, $patternMsg);
	
	//в тексте есть слова «а» или «но» без запятой перед ними.
	$patternMsg = array (
		'pattern' => "/\b\s\bа\b/u",
		'msg' => "«а» или «но» без запятой перед ними"
	);
	findError($text, $patternMsg);
	
	//в тексте есть слова «а» или «но» без запятой перед ними.
	$patternMsg = array (
		'pattern' => "/\b\s\bно\b/u",
		'msg' => "«а» или «но» без запятой перед ними"
	);
	findError($text, $patternMsg);
?>