Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Lettere accentare

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    15

    Lettere accentare

    Salve!
    Ho un problema un pò strano... motivo per cui non so neppure se questa è la sezione giusta del forum....
    Comunque, allora il problema è questo:
    in html come ben sapete per rappresentare le lettere accentate si usano &agrave ,&egrave etc...

    io ho creato una pagina php in cui è presente un normalissimo form (area di testo + bottone)... si inserisce del testo nella area di testo.... si clikka sul bottone che rimanda ad un'altra pagina php... in quest'altra pagina php faccio in modo che le lettere accentate siano convertite nel rispettivo "tag" html in questo modo:

    $arr_trova=array('à','è','é','ì','ò','ù','À','È',' É','Ì','Ò','Ù');
    $arr_sost =array('&agrave','&egrave','&eacute','&igrave','&o grave','&ugrave','&Agrave','&Egrave','&Eacute','&I grave','&Ograve','&Ugrave');
    for ($i=0; $i<=count($arr_trova); $i++) {
    $data=str_replace($arr_trova[$i],$arr_sost[$i],$data);
    }

    (non uso direttamente la funzione HtmlEntities() del php perchè per i miei scopi non posso usarla!)

    ----- PROBLEMA CHE RISCONTRO:
    se $data era una stringa del tipo "stupidità" (cioè la lettere accentata è l'ultima lettera della parola) tutto funziona correttamente e $data diventerà "stupidit&agrave"... venendo visualizzata correttamente da FIREFOX.

    se invece $data è del tipo "abracadàbra" (cioè la lettera accentata è in una posizione qualunque della stringa... ma NON è l'ultima lettera della stringa)... nonostante $data diventa "abracad&agravebra".... FIREFOX non riesce a visualizzare la stringa correttamente... cioè vedo scritto "abracad&agravebra" e non "abracadàbra"

    la cosa un pò anomala che ho riscontrato è che è SOLO FIREFOX che da problemi ... ho infatti provato sia con chrome che con IE... e tutto viene visualizzato correttamente!

    Qualcuno può aiutarmi ?

  2. #2
    intanto spiega perchè non puoi usare htmlentities?

  3. #3
    Alla fine delle entità ci va il punto e virgola

    codice:
    &#38;agrave;
    Ciao
    La differenza fra la genialità e la stupidità è che la genialità ha i suoi limiti.


  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    15
    perchè tale funzione trasforma un pò tutto... ciò ad esempio "<" --> diventa "\< "
    etc...
    e per i miei scopi non va bene!

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    15
    Originariamente inviato da furbostandby
    Alla fine delle entità ci va il punto e virgola

    codice:
    &agrave;
    Ciao
    provo subito!

  6. #6
    Ops... quando ho scritto un'entità nel messaggio mi è stata interpretata...
    La differenza fra la genialità e la stupidità è che la genialità ha i suoi limiti.


  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    15
    avevi perfettamente ragione!
    era una banalità....
    grazie!

  8. #8
    Originariamente inviato da asso7
    perchè tale funzione trasforma un pò tutto... ciò ad esempio "<" --> diventa "\< "
    etc...
    e per i miei scopi non va bene!
    per risolvere questo problema e continuare ad usare htmlentities (che è sempre meglio di una nostra funzione custom)

    puoi fare cosi:

    prima fai l'htmlentities poi fai un semplice str_replace per ripristinare i caratteri dell'html

    &lt; <

    &gt; >

    e se usi ent_compat anche &quot;

  9. #9

    Re: Lettere accentare

    Originariamente inviato da asso7
    in html come ben sapete per rappresentare le lettere accentate si usano &agrave ,&egrave etc...
    Falso. Si usa un charset corretto come utf8.

  10. #10
    Scusate se mi aggancio alla discussione, ho un problema sempre sulle accentate ed utf8: vengono interpretate tutte tranne la a accentata... pagina in utf8, db mysql in utf8, quando vado a scrivere sul db e poi a rileggere vedo al posto della a accentata un punto interrogativo (o uno spazio vuoto, se la a accentata era in fondo al messaggio).
    Idee?

    Marco

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.