Visualizzazione caratteri speciali

_Alexander_

Utente Attivo
19 Giu 2004
44
0
0
www.helpinweb.it
Salve a tutti ;)

Ho modificato uno script per la lettira delle news da siti dotati del supporto RSS.
Ebbene funziona tutto correttamente ma i caratteri speciali: ò, è, é, à ecc...non vengono visualizzati in modo esatto.
Ho quindi implementato funzione formatnews che allego:
Codice:
function formatnews ($descr="") {
   $result = $descr;
   
   $result = str_replace("&","&",$result);
   $result = str_replace("&lt;","<",$result);
   $result = str_replace("&gt;",">",$result);
   $result = str_replace("&rsquo;","’",$result);
   $result = str_replace("&lsquo;","‘",$result);
   $result = str_replace("&quot;","\"",$result);
   $result = str_replace("&rdquo;","”",$result);
   $result = str_replace("&ldquo;","“",$result);
   $result = str_replace("apos;","'",$result);
   $result = str_replace("&aacute;","á",$result);
   $result = str_replace("&agrave;","à",$result);
   $result = str_replace("&auml;","ä",$result);
   $result = str_replace("&acirc;","â",$result);
   $result = str_replace("&Aacute;","Á",$result);
   $result = str_replace("&Agrave;","À",$result);
   $result = str_replace("&Auml;","Ä",$result);
   $result = str_replace("&Acirc;","Â",$result);
   $result = str_replace("&ccedil;","ç",$result);
   $result = str_replace("&Ccedil;","Ç",$result);
   $result = str_replace("&eacute;","é",$result);
   $result = str_replace("&egrave;","è",$result);
   $result = str_replace("&euml;","ë",$result);
   $result = str_replace("&ecirc;","ê",$result);
   $result = str_replace("&Eacute;","É",$result);
   $result = str_replace("&Egrave;","È",$result);
   $result = str_replace("&Euml;","Ë",$result);
   $result = str_replace("&Ecirc;","Ê",$result);
   $result = str_replace("&igrave;","ì",$result);
   $result = str_replace("&iuml;","ï",$result);
   $result = str_replace("&icirc;","î",$result);
   $result = str_replace("&Iuml;","Ï",$result);
   $result = str_replace("&Icirc;","Î",$result);
   $result = str_replace("&ouml;","ö",$result);
   $result = str_replace("&ocirc;","ô",$result);
   $result = str_replace("&ograve;","ò",$result);
   $result = str_replace("&Ouml;","Ö",$result);
   $result = str_replace("&Ocirc;","Ô",$result);
   $result = str_replace("&uacute;","ú",$result);
   $result = str_replace("&ugrave;","ù",$result);
   $result = str_replace("&uuml;","ü",$result);
   $result = str_replace("&ucirc;","û",$result);
   $result = str_replace("&Uacute;","Ú",$result);
   $result = str_replace("&Ugrave;","Ù",$result);
   $result = str_replace("&Uuml;","Ü",$result);
   $result = str_replace("&Ucirc;","Û",$result);
   $result = str_replace("&yuml;","ÿ",$result);
   $result = str_replace("&yacute;","ý",$result);
   $result = str_replace("ä", "ä", $result);
   $result = str_replace("ö", "ö", $result);
   $result = str_replace("ü", "ü", $result);
   $result = str_replace("Ä", "Ä", $result);
   $result = str_replace("Ö", "Ö", $result);
   $result = str_replace("Ü", "Ü", $result);
   $result = str_replace("ß", "ß", $result);
   $result = str_replace("&nbsp;", " ", $result);
   //$result = str_replace("<"."![CDATA[", "", $result);
   //$result = trim(str_replace("]]".">", "", $result));
   $result = str_replace ( '<br />', "\n", $result );
   $result = str_replace ( '€', "Euro", $result );
   $result = preg_replace( '#\[.*/?\]#siU', '', $result );
   $result = preg_replace( '#\[(email|url)=("??)(.+)\\2\]\\3\[/\\1\]#siU', '\3', $result );
   
   return $result;
}

e l'ho poi richiamata nella funzione interessata usando la variabile $description, ecco anche qui il codice:
Codice:
function endElement($parser, $name) {
 global $insideitem, $tag, $title, $description, $link, $image, $insideimage, $show_detail, $rssout, $artlimit, $tot;
 if ($name == "URL") {
 $rssout .= "<br>";
 $insideimage=false;
 $image="";
 } else if ($name == "ITEM") {
 if ( $tot != $artlimit) {
 $rssout .= sprintf('<div align="left"><table><tr><td><a href="%s" target="_blank"><b>%s</b></a></td></tr></table></div>',trim($link),trim($title));
 }
 if ($show_detail and $tot != $artlimit)
 $rssout .= sprintf('<div align="left"><table><tr><td>%s</td></tr></table></div><br>',formatnews($description));
 else if ($tot != $artlimit) {
 $rssout .= "<br>";
 }
 $title = "";
 $description = "";
 $link = "";
 $insideitem = false;
 }
 }

Lo script funziona ma i caratteri speciali non vengono ancora visualizzati.

Sicuramente sbaglio qualcosa, qualcuno può gentilmente darmi una mano?...se è possibile :)

Grazie di tutto e ancora Auguroni per il Nuovo Anno!! :ciauz:
 

Discussioni simili