My Long Winded Method. You can use it temp till someone gives u a better solution.
<?
//The string
$info = "THIS IS A TEST. HAHA A TEST";
// Explode the string to become
// "THIS IS A TEST"
// " HAHA A TEST" <- take note of the space infront
$info2 = explode(".",$info);
//Loop through the info2 to change the string first letter to CAPS
foreach ($info2 as $info3) {
$info4[] = ucfirst(strtolower(trim($info3)));
}
//Put them together and display
$newstring = implode(". ", $info4);
echo $newstring;
?>
remember to trim the $info3 else it will cap the space at the start of the string instead.