<?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) {
	$textArray = explode("", $text); // разбить предложение на буквы
	mb_strtoupper($textArray[0]); //увеличить первую букву
	$text = implode("", $textArray); //склеить предложение из букв
	return $text;
}
 
/* исправляет текст */
function fixText($text) {
 	$textArray = explode(".", $text); /* разбить на массив из предложений */
    foreach ($textArray as $sentence) {
    	$sentence = trim($sentence); /* по идее должно обрезать все пробелы в начале и в конце, если есть. Почему-то не работает*/
    	
    	$regexp1 = "/(^\\s){1,}|(\\s$){1,}/"; /*ищет пробелы в начале и конце предложения, тоже тут ничего не работает*/
    	$regexp2 = "/(\\s?+[,]\\s+)|(\\s+[,]\\s?+)/"; /* ищет лишние пробелы возле запятых */
    	$regexp3 = "/[,]\\S/"; /*ищет запятые без пробела*/
    	preg_replace($regexp1, "", $text);
    	preg_replace($regexp2, ", ", $text);
    	preg_replace($regexp3, ", ", $text);
    	
    	makeFirstLetterUppercase($sentence); /* должно было задействовать ту функцию выше для увеличения первых букв*/
    }
 	$text = implode(". ", $textArray); /* склеить всё обратно */
 	return $text;
 }
 
$result = fixText($text);
echo "{$result}\n";