<?php
// Грамматический националист
error_reporting(-1);

$text = "Этот анон все правильно сказал";
$errors = [
	'нет пробела после запятой' => '/,\w+/ui',
	'нет пробела после точки' => '/\.\w+/ui',
	'нет пробела после точки с запятой' => '/;\w+/ui',
	'нет пробела после двоеточия' => '/:\w+/ui',
	'нет пробела после вослицательного знака ' => '/!\w+/ui',
	'нет пробела после вопросительного знака' => '/\?\w+/ui',
	'нет запятой перед союзом а/но' => '/\w+[^,]\s(а|но)/ui',
	'орфографическая ошибка в слове кардинально' => '/координально/ui',
	'орфографическая ошибка в слове здесь' => '/сдесь/ui',
	'орфографическая ошибка в слове сделал' => '/зделал/ui',
	'орфографическая ошибка в слове сделаю' => '/зделаю/ui',
	'орфографическая ошибка в слове сделан' => '/зделан/ui',
	'орфографическая ошибка в слове сделаю' => '/зделаю/ui',
	'обнаружена ошибка, «жи» и «ши» пишется с буквой «и»' => '/(жы|шы)\w+/ui',
];

// Разделяем значения массива на переменные
foreach ($errors as $comment => $regexp) {
	// Находим ошибки в тексте и отдаем массив с ними
	if (preg_match_all($regexp, $text, $matches)) {
		foreach($matches[0] as $value) {
			echo "Внимание: \"{$value}\" $comment\n";
		}
	}
}