Il problema principale e' come individuare una frase. Ti faccio un esempio che usa il punto (e eventuali spazi dopo) come separatore:
codice:<?php $string = "Ieri ero a Roma e pioveva. OGGI INVECE IL TEMPO E' BELLISSIMO. Vorrei andare a Milano ora."; $frasi = preg_split('/\.\s*/', $string); foreach ( $frasi as $frase ) { echo $frase, "\n"; if ( $frase == strtoupper($frase) ) { $string = str_replace($frase, ucfirst(strtolower($frase)), $string); } } echo $string, "\n";