<?php
    error_reporting(-1);
    mb_internal_encoding('utf-8');
     
    $text = "ну что.      не смотрел еще black mesa.я собирался скачать  ,но все как-то некогда было.";
    // Для тестов
    //$text = "roses are red,and violets are blue.whatever you do i'll keep it for you.";
    //$text = 'привет.есть 2 функции,preg_split и explode ,не понимаю,в чем между ними разница.';
     
    /* Делает первую букву в строке заглавной */
    function makeFirstLetterUppercase($text) {
		$returnText = "";
		$pattern = array(
			"/^\w/u",
			"/\.\s*\w/u"
		);
		$returnText = preg_replace_callback(
				$pattern,
				function ($matches) {
					return mb_strtoupper($matches[0]);
				},
				$text
		);
		return  $returnText; 
    }
     
    /* исправляет текст */
    function fixText($text) {
		$returnText = "";
		$pattern = "/\s*([.,:;!?])\s*/ui";
		$returnText = preg_replace($pattern, "$1 ", $text);
		return $returnText;
    }
     
	$text = makeFirstLetterUppercase($text);
    $result = fixText($text);
    echo "{$result}\n";
?>