Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Visualizzazione caratteri speciali

    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("", " ", $result);
       //$result = str_replace("<"."![CDATA[", "", $result);
       //$result = trim(str_replace("]]".">", "", $result));
       $result = str_replace ( '
    ', "\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 .= "
    ";
     $insideimage=false;
     $image="";
     } else if ($name == "ITEM") {
     if ( $tot != $artlimit) {
     $rssout .= sprintf('<div align="left"><table><tr><td>%s</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>
    ',formatnews($description));
     else if ($tot != $artlimit) {
     $rssout .= "
    ";
     }
     $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!!
    News In Web - il social news per tutti
    --> https://www.newsinweb.net <--

  2. #2

    Re: Visualizzazione caratteri speciali

    Originariamente inviato da Alexander
    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("&amp;","&",$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("", " ", $result);
       //$result = str_replace("<"."![CDATA[", "", $result);
       //$result = trim(str_replace("]]".">", "", $result));
       $result = str_replace ( '
    ', "\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 .= "
    ";
     $insideimage=false;
     $image="";
     } else if ($name == "ITEM") {
     if ( $tot != $artlimit) {
     $rssout .= sprintf('<div align="left"><table><tr><td>%s</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>
    ',formatnews($description));
     else if ($tot != $artlimit) {
     $rssout .= "
    ";
     }
     $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!!
    ommammamia cose quella cosa VVoVe:
    cè una funzione già fatta per fare quella cosa li...ci avrai messo una vita

  3. #3

  4. #4
    Mi sono documentato ed ho seguito i vostri consigli ma niente da fare.
    Giusto per un maggiore chiarezza vi allego l'immagine interessate (come potete vedere i caratteri accentati non sono visualizzati correttamente).



    Cosa posso fare?

    Grazie e buona giornata a tutti
    News In Web - il social news per tutti
    --> https://www.newsinweb.net <--

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.