Premetto che i titoli dei miei articoli sono tutti in minuscolo con le parole separate solamente da trattini. Inoltre, ho fatto in modo che negli elenchi, mediante un while, si vadano a disporre tutti i titoli dove devono, grazie al fatto di essere memorizzati in stringhe.
Detto ciò vogliamo che nei titoli diventino maiuscole le iniziali delle parole giuste. I CSS non mi aiutano granché, perché il capitalize può andare o sulla prima lettera del titolo o su tutte le iniziali, mentre non vogliamo un titolo del tipo "Progetto Per Il Mondo", ma "Progetto per il Mondo"!
Questa è al soluzione che ho trovato per le maiuscole, anche se mi sembra un pochino perversa:
Codice PHP:
$string = explode("-", $pagina);
$lenght = count($string);
$maiusc = file("maiuscole.txt", FILE_IGNORE_NEW_LINES);
for($i = 0; $i<$lenght-1; $i++) //Perché l'ultima parola non è mai articolo, ecc.//
{
if (!in_array($string[$i], $maiusc))
{
$string[$i] = ucwords($string[$i]);
}
$titolo = $titolo.$string[$i]." ";
}
$titolo .= ucwords($string[$lenght-1]);
Nota: in "maiuscole.txt" ci sono tutte quelle parole che non dovrebbero diventarlo, come gli articoli, le preposizioni, ecc.
Per le maiuscole, quindi, vorrei semplicemente sapere se questo è il metodo ottimale (e spero veramente di no, perché è proprio brutto!). :master:
Per quanto riguarda gli apostrofi e gli altri segni di interpunzione il problema è più serio, forse. Qui si tratta di sostituire al momento giusto dei trattini con degli apostrofi o con delle virgole. Un metodo, diciamo, sarebbe quello di chiamare l'apostrofo "--" e la virgola "---" e sostituirli nella stringa. Chiaramente anche questa soluzione è orribile, soprattutto se visti gli indirizzi che si verrebbero a creare!
Grazie mille a tutti, ma sono problemi di vita