<?php

error_reporting(-1);

function grammar($text) {
	$rules = array(
	'/.{3}?[,.!?:;][^ ].{3}?/ui' => "Нет пробела после знака препинания", /* .{3}? для понятной подсказки*/
	'/.{3}?[жш]ы.{3}?/ui' => "Ж и Ш пишутся с буквой И", 
	'/.{3}?[^.,!?] (а|но) .{3}?/ui' => "Нет знака препинания перед А или НО",
	'/(сдесь|координально|зделаю)/ui' => "Неправильно написано слово" 
	);
	foreach ($rules as $regexp => $desc) {
		$matches = array();
		if (preg_match_all($regexp, $text, $matches)) {
			$imp = implode(" и вот тут - ", $matches[0]);
			echo "{$desc} вот тут - {$imp} \n";
		}
	}
}
$text = "Алах вилик!а я сука, но не а координально. !Жырная жопа жи. Сдесь зделаю. Аморфный алфавит Америка";
$test = grammar($text);