   <?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) {
$explodedText=preg_split("/[.?!]/u",$text,0,PREG_SPLIT_NO_EMPTY);
$count=count($explodedText);
for ($i=0;$i<$count;$i++) {
 
$explodedText[1]=trim($explodedText[1]);
$explodedText[$i]=mb_strtoupper(mb_substr($explodedText[$i], 0, 1)). mb_substr($explodedText[$i], 1);
}
$text=implode(". ",$explodedText);
return($text);
}
 
/* исправляет текст */
function fixText($text) {
 
$patterns=array();
$patterns[1]='/(\\s+)?,(\\s+)?/u';
$patterns[2]='/$/u';
 
$replacements=array();
$replacements[1]=", ";
$replacements[2]=".";
 
$text=preg_replace($patterns,$replacements,$text);
return($text);
 
}
 
$text=makeFirstLetterUppercase($text);
$result = fixText($text);
echo "{$result}\n";