-
walter4991.
User deleted
Ciao a tutti, ho la necessità di salvare del testo formattato nel database, per fare ciò leggo il contenuto della text area, e lo inserisco nel database dopo essere stato processato dalla funzione htmlentities(). Nel momento in cui devo leggerlo uso la funzione html_entity_decode().
Però non capisco perchè inserendo del testo non formattato questo venga visualizzato fuori dal template, ad esempio questo codice viene visualizzato correttamente:SPOILER (clicca per visualizzare)HTML<p><span style="background-color: rgb(255, 0, 0);">Prova testo</span> - Prova testo - <strong>Prova testo</strong> - Prova testo - <sup><u>Prova testo</u></sup> - Prova testo - Prova testo - Prova testo - Prova testo - <span style="color: rgb(0, 255, 0);"><strong>Prova testo </strong></span><span style="background-color: rgb(255, 0, 0);">Prova testo</span> - Prova testo - <strong>Prova testo</strong> - Prova testo - <sup><u>Prova testo</u></sup> - Prova testo - Prova testo - Prova testo - Prova testo - <span style="color: rgb(0, 255, 0);"><strong>Prova testo </strong></span><span style="background-color: rgb(255, 0, 0);">Prova testo</span> - Prova testo - <strong>Prova testo</strong> - Prova testo - <sup><u>Prova testo</u></sup> - Prova testo - Prova testo - Prova testo - Prova testo - <span style="color: rgb(0, 255, 0);"><strong>Prova testo </strong></span><span style="background-color: rgb(255, 0, 0);">Prova testo</span> - Prova testo - <strong>Prova testo</strong> - Prova testo - <sup><u>Prova testo</u></sup> - Prova testo - Prova testo - Prova testo - Prova testo - <span style="color: rgb(0, 255, 0);"><strong>Prova testo</strong></span><span style="background-color: rgb(255, 0, 0);">Prova testo</span> - Prova testo - <strong>Prova testo</strong> - Prova testo - <sup><u>Prova testo</u></sup> - Prova testo - Prova testo - Prova testo - Prova testo - <span style="color: rgb(0, 255, 0);"><strong>Prova testo </strong></span><span style="background-color: rgb(255, 0, 0);">Prova testo</span> - Prova testo - <strong>Prova testo</strong> - Prova testo - <sup><u>Prova testo</u></sup> - Prova testo - Prova testo - Prova testo - Prova testo - <span style="color: rgb(0, 255, 0);"><strong>Prova testo</strong></span><span style="background-color: rgb(255, 0, 0);">Prova testo</span> - Prova testo - <strong>Prova testo</strong> - Prova testo - <sup><u>Prova testo</u></sup> - Prova testo - Prova testo - Prova testo - Prova testo - <span style="color: rgb(0, 255, 0);"><strong>Prova testo </strong></span><span style="background-color: rgb(255, 0, 0);">Prova testo</span> - Prova testo - <strong>Prova testo</strong> - Prova testo - <sup><u>Prova testo</u></sup> - Prova testo - Prova testo - Prova testo - Prova testo - <span style="color: rgb(0, 255, 0);"><strong>Prova testo</strong></span><span style="background-color: rgb(255, 0, 0);">Prova testo</span> - Prova testo - <strong>Prova testo</strong> - Prova testo - <sup><u>Prova testo</u></sup> - Prova testo - Prova testo - Prova testo - Prova testo - <span style="color: rgb(0, 255, 0);"><strong>Prova testo</strong></span><span style="background-color: rgb(255, 0, 0);">Prova testo</span> - Prova testo - <strong>Prova testo</strong> - Prova testo - <sup><u>Prova testo</u></sup> - Prova testo - Prova testo - Prova testo - Prova testo - <span style="color: rgb(0, 255, 0);"><strong>Prova testo </strong></span><span style="background-color: rgb(255, 0, 0);">Prova testo</span> - Prova testo - <strong>Prova testo</strong> - Prova testo - <sup><u>Prova testo</u></sup> - Prova testo - Prova testo - Prova testo - Prova testo - <span style="color: rgb(0, 255, 0);"><strong>Prova testo</strong></span><span style="background-color: rgb(255, 0, 0);">Prova testo</span> - Prova testo - <strong>Prova testo</strong> - Prova testo - <sup><u>Prova testo</u></sup> - Prova testo - Prova testo - Prova testo - Prova testo - <span style="color: rgb(0, 255, 0);"><strong>Prova testo</strong></span><span style="background-color: rgb(255, 0, 0);">Prova testo</span> - Prova testo - <strong>Prova testo</strong> - Prova testo - <sup><u>Prova testo</u></sup> - Prova testo - Prova testo - Prova testo - Prova testo - <span style="color: rgb(0, 255, 0);"><strong>Prova testo </strong></span><span style="background-color: rgb(255, 0, 0);">Prova testo</span> - Prova testo - <strong>Prova testo</strong> - Prova testo - <sup><u>Prova testo</u></sup> - Prova testo - Prova testo - Prova testo - Prova testo - <span style="color: rgb(0, 255, 0);"><strong>Prova testo</strong></span><span style="background-color: rgb(255, 0, 0);">Prova testo</span> - Prova testo - <strong>Prova testo</strong> - Prova testo - <sup><u>Prova testo</u></sup> - Prova testo - Prova testo - Prova testo - Prova testo - <span style="color: rgb(0, 255, 0);"><strong>Prova testo</strong></span><span style="background-color: rgb(255, 0, 0);">Prova testo</span> - Prova testo - <strong>Prova testo</strong> - Prova testo - <sup><u>Prova testo</u></sup> - Prova testo - Prova testo - Prova testo - Prova testo - <span style="color: rgb(0, 255, 0);"><strong>Prova testo</strong></span><span style="background-color: rgb(255, 0, 0);">Prova testo</span> - Prova testo - <strong>Prova testo</strong> - Prova testo - <sup><u>Prova testo</u></sup> - Prova testo - Prova testo - Prova testo - Prova testo - <span style="color: rgb(0, 255, 0);"><strong>Prova testo </strong></span><span style="background-color: rgb(255, 0, 0);">Prova testo</span> - Prova testo</p>
mentre questo no:SPOILER (clicca per visualizzare)HTML<p>Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao Ciao</p>
Questo sarebbe il risultato:SPOILER (clicca per visualizzare). -
Alchimist.
User deleted
Il decode funziona correttamente, in quanto il parsing del testo non dà errori.
Hai per caso un sito dove stai testando questo codice?. -
walter4991.
User deleted
lo sto testando in locale con xampp, Ho notato che capita quando il testo è formato in questo modo se il testo fosse formattato semplicemente, cioè "ciao ciao ciao ciao" non succede.CODICEciao ciao ciao ciao
Per ora ho risolto così:CODICE$testo = str_replace(" ", " ", $_POST['contenuto']);
$testo = htmlentities($testo);
però mi sembra una soluzione un po grossolana, avete qualche consiglio?. -
meh..
User deleted
Dovresti inserirlo nel database intatto, e poi escaparlo quando outputti, non il contrario. . -
walter4991.
User deleted
Scusami ma non ho capito tanto bene. Ok, inserisco direttamente l'html nel db poi...? . -
meh..
User deleted
Poi quando lo devi outputtare lo escapi con htmlentities o simili. . -
walter4991.
User deleted
Stessa cosa, non cambia nulla. . -
meh..
User deleted
La mia risposta non era relativa al problema, il problema e' comunque che usi al posto di uno spazio, non sono la stessa cosa.
Non filtrare la roba che infili nel database, se proprio devi la filtri tirandola fuori, in questo caso non vuoi filtrarla tirandola fuori.. -
walter4991.
User deleted
Se scrivo manualmente "Ciao Ciao Ciao Ciao Ciao" tutto funziona perfettamente e lo spazio in mezzo viene salvato così com'è.
Se invece scrivo una sola volta "Ciao " e lo copio, compreso quello spazio, ogni volta che lo incollo lo spazio si traduce in   ;
Può dipendere dall'editor? Uso CKeditor.. -
walter4991.
User deleted
Qualche soluzione? .