questo e' un esempio ...

codice:
$time = '00:23';
function lessThan10( $var ) {
	$var = (int)$var == 0 ? 24 : (int)$var;
	return $var < 10 ? '0'.$var : (string)$var;
}
echo preg_replace( "/([0-9]{1,2})\:([0-9]{2})/e", "lessThan10(\\1).':\\2'", $time );