Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [XML] Entities...???

  1. #1

    [XML] Entities...???

    Salve, con php genero un foglio con le news, in questo modo:
    (premetto che sono totalmente ignorante su XML, RSS... insomma, ne so proprio poco o niente)

    Codice PHP:
    echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"
            \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">"
    ;
    echo 
    "<rss version=\"0.91\">\n\n";
    echo 
    "<channel>\n";
    echo 
    "<title>MySite</title>\n";
    echo 
    "<link>$system_url</link>\n";
    echo 
    "<description>Descrizione...</description>\n";
    echo 
    "<language>IT</language>\n\n";
    echo 
    "<image>\n";
    echo 
    "<title>Last News</title>\n";
    echo 
    "<url>last_news_rss.png</url>\n";
    echo 
    "<link>$system_url</link>\n";
    echo 
    "<width>150</width>\n";
    echo 
    "<height>80</height>\n";
    echo 
    "</image>\n";
    // ....salto il ciclo che stampa gli item....
    echo "</channel>\n";
    echo 
    "</rss>"
    Ed ecco che errore mi da, in corrispondenza di lettere accentate, ad es...

    Impossibile visualizzare la pagina XML
    Impossibile visualizzare l'input XML tramite il foglio di stile XSL. Correggere l'errore, quindi fare clic su Aggiorna, oppure riprovare in un momento successivo.


    --------------------------------------------------------------------------------

    Carattere non valido nel contenuto di testo. Errore durante l'elaborazione della risorsa "http://www.webgear.it/web/rss.php". Riga 23, posizione 13


    <date>venerd
    Ora: ho sentito parlare di Entità, ho provato a fare qualcosa seguendo dei links che mi sn stati segnalati, ma brancolo nel buio, e l'errore persiste!

    Sapete dirmi come ovviare? Dove sbaglio?

    Grazieeeeeee! ciauz

  2. #2
    prova a scrivere così:

    codice:
    <date>venerd & igrave;
    scrivendo, però, & e igrave attaccati.

    ciao

  3. #3
    Ora sono ad un'altra postazione e non posso provare...lo farò quanto prima... Ma anche se funzionasse, dovrei semplicemente rimpiazzare dalla mia stringa tutte le lettere accentate, con il loro corrispondente codice?

    E le entità, che sono? a che servono? Mi sembrava di aver capito che facessero questo lavoro, senza che dovessi intervenire io da script... :master:

    ciao e grazie

  4. #4
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    http://www.w3schools.com/html/html_entitiesref.asp tutte le entità.
    e visto che usi il PHP, dovresti dare un'occhio anche al suo manuale ;-)


  5. #5
    Ok, ma come le uso le entità? Potrei fare 2000000000 sostituzioni con php... ma non mi sembra
    1. elegante
    2. funzionale...

    una via più veloce?

    PS: il manuale di php l'ho letto più di una volta :zamm:

  6. #6
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Allora rileggilo
    della funzione htmlentities non ne hai mai sentito parlare?

    comunque non hai bisogno di fare tante traslazioni, infatti per fortuna le accentate sono solo 5 nella lingua italiana, e se ci metti anche le maiuscole e quelle ad accenfto grave non arrivi che a una dozzina.
    Puoi usare la funzione strtr che ti permette di fare le traslazioni su un testo:

    codice:
    $testo = array('à' => '&agrave;', 'è' => '&egrave;'); e così via.
    lo applichi così: $stringa = strtr($stringa, $testo);

  7. #7
    Originariamente inviato da Marcolino's
    Allora rileggilo
    della funzione htmlentities non ne hai mai sentito parlare?

    comunque non hai bisogno di fare tante traslazioni, infatti per fortuna le accentate sono solo 5 nella lingua italiana, e se ci metti anche le maiuscole e quelle ad accenfto grave non arrivi che a una dozzina.
    Puoi usare la funzione strtr che ti permette di fare le traslazioni su un testo:

    codice:
    $testo = array('à' => '&agrave;', 'è' => '&egrave;'); e così via.
    lo applichi così: $stringa = strtr($stringa, $testo);
    No, htmlentities mai sentita :master:

    Per le sostituzioni con php cmq non avevo problemi, ma volendo eliminare tutte le possibili interferenze, il numero sale...!

    Grazie cmq...
    ciauz!

  8. #8
    Eh eh, cmq sn scusato via, nn conoscevo htmlentities(), ma htmlspecialchars()! La uso nello script infatti, ma evidentemente ho sbagliato qualcosa, perchè mi da problemi lo stesso... ora controllo!

    byez

  9. #9
    Madoooooonna che errore cretino!!!

    Sapete dove stava l'inghippo? Applicavo la funzione sopra citata al titolo, alla descrizione, alla data, ma non al testo dell'item

    Tutto ok now, grazie! :metallica

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.