<?php
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($splitText, $encoding = 'utf-8') {
    foreach($splitText as $key => $value) {
    $value = mb_strtoupper(mb_substr($value, 0, 1, $encoding))
    .mb_substr($value, 1);
    $splitText[$key] = $value;
    }
    return $splitText;
}
function fixText($splitText) {
    foreach($splitText as $key => $value){
        $value = $value . '. ';
        $value = preg_replace('/[,]/', ', ', $value);
        $value = preg_replace('/\\s+[,]/', ', ', $value);
        $splitText[$key] = $value;
    }
    return $splitText;
}
$splitText = preg_split('/[.!?]\\s*/', $text, 0, PREG_SPLIT_NO_EMPTY);
$splitText = fixText(makeFirstLetterUppercase($splitText));
foreach ($splitText as $key => $value) {
    echo $value;
}