Я придумал это решение, используя preg_split .Он попытается разбить предложения по .
границам, где есть один или несколько пробелов после точки.Это все еще довольно эффективно, но, возможно, меньше, так что это взрывной аналог.
<?php
$str = "SENTENCE ONE. AND HERE'S TWO.";
$sentences = preg_split('/(\.\s+)/', $str, null, PREG_SPLIT_DELIM_CAPTURE);
array_walk(&$sentences, create_function('&$val', '$val = ucfirst(strtolower($val));'));
$str = implode('', $sentences);
echo $str; // Sentence one. And here's two.