<?php

// Grammar Nazi
error_reporting(-1);
mb_internal_encoding('utf-8');

$text = "Не здеся а Сдесь. Жы шы пиши с буквой и. Координально зделал но не там. Но сделал!Нетжы";
$regExp = [
	"/.{0,5}((ж|ш)ы).{0,5}/ui" => "Жи ши пиши с буквой И",
	"/.{0,5}(координально|сдесь|здел(ал|аю|ан)).{0,5}/ui" => "Правильно писать здесь, сделал кардинально",
	"/.{0,5}([.,:;!?]\S).{0,5}/u" => "Нет пробела после знака препинания",
	"/.{0,5}([^,] а|[^,] но).{0,5}/u" => "Нет запятой перед предлогами а или но"
	];
$matches = array();


foreach ($regExp as $key => $value){
	preg_match_all($key,$text,$matches);
	foreach ($matches[0] as $match){
		echo "{$value}:\n{$match}\n\n";
	}
}


//echo $matches[0][0][1];
//var_dump($matches);
//echo mb_substr($text,31);//$matches[0][1][1]);
//echo $matches[1][0];