<?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($str)
{
    //ucfirst ( $text ); не юзает кириллицу
    //mb_substr($text,0,1); возможно ее можно использовать
    // $str = mb_strtoupper($str);   не работает, впрочем также как и конверт_кейс
    $str = mb_convert_case($str[0], MB_CASE_UPPER, "UTF-8");
    return $str[0];
    
}

//пока не делал фикс, но не думаю что это сложно
function fixText($text)
{
    $text = preg_replace('/\s{2,10}/u', "", $text);
    
}

$vartext = array();
$vartext = preg_split('/(?<=\.)(\s+|)/u', $text, -1, PREG_SPLIT_NO_EMPTY);

var_dump($vartext);
foreach ($vartext as $stringsLetters) {
    
    echo $stringsLetters;
    echo "\n";
    $stringsLetters = makeFirstLetterUppercase($stringsLetter);
    echo $stringsLetters;
    
    echo "\n";
	
}