ti spiego in breve.
Estrapolo da db una stringa, la stessa la devo ripulire con una funzione dai caratteri speciali.
Purtroppo la stringa essendo un titolo, lo devo mettere in maiuscolo.
Facendo in questo modo ho il problema che la funzione non riesce a convertire il risultato in maiuscolo...
cosi:

codice:
//questa funzione l'ho presa qui sul forum
function convalida_w3c($valore)
  {
   //per le normali conversioni in HTML e per togliere gli slash inseriti dalla fun. addslashes
   $valore = stripslashes(htmlentities($valore));

   //per i caratteri accentati copincollati da word, outlook ecc
   $valore= str_replace("a’", "à", $valore);
   $valore= str_replace("e’", "è", $valore);
   //$valore= str_replace("È", "è", $valore);
   $valore= str_replace("i’", "ì", $valore);
   $valore= str_replace("o’", "ò", $valore);
   $valore= str_replace("u’", "ù", $valore);
   //per gli apici copincollati da word, outlook ecc
   $valore= str_replace("’", "'", $valore);
   $valore= str_replace("‘", "'", $valore);
   //per le virgolette copincollate da word, outlook ecc
   $valore= str_replace("“", """, $valore);
   $valore= str_replace("”", """, $valore);
   //per le altre cose
   $valore= str_replace("–", "-", $valore);
   $valore= str_replace("…", "...", $valore);
   $valore= str_replace("……", "......", $valore);
  
   return $valore;
  }


$News.= "<h2>".convalida_w3c(strtoupper($arrNews[$nI]['cTitolo']))."</h2>";
Il risultato in questo modo è:
codice:
"STANZIAMENTO PER RISTRUTTURAZIONE 21 STRADE è UN'OTTIMA NOTIZIA"
La "è" la lascia minuscola

se faccio cosi:
codice:
"STANZIAMENTO PER RISTRUTTURAZIONE 21 STRADE &EGRAVE; UN'OTTIMA NOTIZIA"
Non converte la "è"..

Sapresti dirmi per favore come posso risolvere?
Grazie mille buona giornata