<?php
error_reporting(-1);
header("Content-Type: text/plain; charset=utf-8");
mb_internal_encoding('utf-8');
$text1 = "ну что.      не смотрел еще black mesa.я собирался скачать  ,но все как-то некогда было.";
$text  = "roses are red,and violets are blue.whatever you do i'll keep it for you.";
$text2 = 'привет.есть 2 функции,preg_split и explode ,не понимаю,в чем между ними разница.';

function fix($text)
  {
    $array = explode(".", $text);
    foreach ($array as &$value)
      {
        $value     = trim($value);
        $array2    = explode(" ", $value);
        $array2[0] = mb_convert_case($array2[0], MB_CASE_TITLE, "UTF-8");
        $value     = implode(" ", $array2);
        $value     = preg_replace('/ *\, */u', ', ', $value);
        
      }
    return implode(". ", $array);
  }

echo fix($text), "\n";
echo fix($text1), "\n";
echo fix($text2), "\n";