<?php

error_reporting(-1);
mb_internal_encoding('utf-8');

$text = 'вася упал на кровать. и пошел гуять. гулять во сне,но не круто как-то это все было;такие дела.';

function letterToUpper($text)
	/* Функция для того, что бы делать первую букву предложения заглавной.*/
	{
		$text = preg_split('/\\./u', $text);
		foreach ($text as &$value){
			$upperlatter = preg_split('//u', $value, -1, PREG_SPLIT_NO_EMPTY);
			if ($upperlatter[0] == ' ') {
				$upperlatter[1] = mb_strtoupper($upperlatter[1]);
			} else {
				$upperlatter[0] = mb_strtoupper($upperlatter[0]);
			}
			$upperlatter[] = '.';
			$value = implode('', $upperlatter);
		}
		$text = implode('', $text);
		return $text;
	}

function fixText($text)
{
	$regexp = '/\\s+(,|;|?|!)\\s+/u';
	
	$sentenses = preg_split('/\\./', letterToUpper($text), -1, PREG_SPLIT_NO_EMPTY);
	print_r($sentenses);
	foreach ($sentenses as &$value) {
		$value = preg_replace($regexp, '$1 ', $value);
	}
	$text = implode('', $sentenses);
	return $text;
}

echo fixText($text);

?>