<?php
error_reporting(-1);
mb_internal_encoding('utf-8');
$text = "много их в Петербурге,молоденьких дур,сегодня в атласе да бархате,а завтра , поглядишь , метут улицу вместе с голью кабацкою.в самом деле ,что было бы с нами ,если бы вместо общеудобного правила:чин чина почитай , ввелось в употребление другое,например:ум ума почитай?какие возникли бы споры!";
$pregexp = "/(?<=[.?!])/ui";
$sentence = preg_split($pregexp, $text, 0, PREG_SPLIT_NO_EMPTY);

foreach ($sentence as $key => $sent) {
	$sent = trim($sent);
	$first = mb_strtoupper(mb_substr($sent,0,1));
	$other = mb_substr($sent,1);
	$sent = $first.$other;
	$sentence[$key] = $sent;
}

$result = implode(" ",$sentence);
//echo $result."\n";
$reg = "/\s*([,;!?:])\s*/ui";
$result = preg_replace($reg, "$1 ", $result);
echo $result;