Ho un problema strano. Data una stringa di un tot di parole suddivise tra loro con un underscore (il numero delle parole è variabile, possono essere 3 come 10) avrei bisogno di trasformare la prima lettera di ogni parola in maiuscolo preservando gli underscore.
Ad esempio prima_seconda_terza_quarta dovrebbe divenrare ***Prima_Seconda_Terza_Quarta
Normalmente imploderei la stringa in un array e con un ciclo foreach mi farei restituire ogni parola con la prima lettera maiuscola usando la funzione ucwords() per finire con esplodere la stringa risultante in una variabile di nome $new_string da poter usare per i miei scopi. Il problema è che così facendo ottengo o solamente la prima parola della stringa, ad esempio solamente Prima, o tutte le parole con la prima lettera maiuscola ma senza il trattino come separatore.
Qualcuno ha idea di come risolvere?