Metodo 1
Codice PHP:
$string = "Nel mezzo del cammin di nostra vita";
$parts = explode(" ", $string, 2);
echo mb_strtoupper($parts[0]) . " " . $parts[1];
Metodo 2
Codice PHP:
$string = "Nel mezzo del cammin di nostra vita";
$string = preg_replace_callback('/^(\w)+\ /i', function($matches) {return mb_strtoupper($matches[0]);}, $string);
echo $string;
Entrambi i metodi utilizzano la funzione mb_strtoupper
In generale fai una funzione che racchiuda o il primo o il secondo metodo e poi chiami quella
Codice PHP:
function capitalizeFirstWord($string) {
return preg_replace_callback('/^(\w)+\ /i', function($matches) {return mb_strtoupper($matches[0]);}, $string);
}
echo capitalizeFirstWord("Nel mezzo del cammin di nostra vita");
EDIT: modificato il metodo 2 perché utilizzavo una opzione deprecata