<?php

$text = "Привет,шыр!труд:жыр?пассажыр;зделаю Координально но сдесь решена проблема ушыбов.\
		Зделано многое а ведь это зделал я";

$regex['space'] = '/[,;!?:][^,;!?:\\s]+/u';//проверка на пробелы
$regex['zhsh'] = '/[а-яА-Я]*(?:ж|ш)ы[а-яА-Я]*/u';//жи ши
$regex['orpho'] = '/координально|сдесь|з(?:делал|делаю|делан)[\\S]*/ui';//орфография
$regex['punctum'] = '/[а-яА-Я]*[^,]\\s(?:а|но)\\s/u';//пунктуация

foreach ($regex as $rule => $pattern){
	
	$message = '';
	switch ($rule){
		case 'space':
			$message = 'отсутствие пробелов';
			break;
		case 'zhsh':
			$message = 'написание жи-ши';
			break;
		case 'orpho':
			$message = 'орфографические';
			break;
		case 'punctum':
			$message = 'пунктуация';
			break;
	}
	
	$matches = array();
	
	if ($count = preg_match_all($pattern, $text, $matches)){
		echo "Нашлись ошибки ({$message}) {$count} шт :\n";
		foreach ($matches[0] as $mistake){
			echo "{$mistake}\t";
		};
		echo "\n";
	} else {
		echo "Ошибки ({$message}) отсутствуют\n";
	}
}