Visualizzazione dei risultati da 1 a 8 su 8

Discussione: sostituire gli apici

  1. #1

    sostituire gli apici

    Salve a tutti, io tramite una mia funzione javascript passo del testo che leggo dal db tramite php, sul db ho il testo che mi mette ai doppi apici la barra davanti (da " diventa \") e prima di passare il testo nella funzione javascript faccio tornare i doppi apici senza la \, solo che a questo punto gli apici vanno a rompere i marroni alla funzione javascript. A questo punto mi chiedo, esiste un modo che mi permetta di lasciare magari gli apici come sul db, ma che quando la funzione javascript mi restituisce l'output mi restituisca gli apici senza la \?

  2. #2
    scusate, sono un fagiano , se io gli passo gli apici \" alla funzione javascript, automaticamente poi me li trasforma in ".
    Scusate ancora, magari cancellate questo thread onde evitare prese per il culo a mio discapito :gren:

  3. #3
    Ciao,
    per evitare tutti questi passaggi (conversione per salvarli nel db e poi riconversione per pubblicarli) ti basta salvarli nel db senza slash e cose varie e quando li estrai con php prima di pubblicarli applica htmlentities($valore)...trasforma tutti i caratteri particolari nelle entities html (il " diventa &quot).
    Poi se proprio vuoi stare tranquillo applichi anche addslashes anche se non è necessario (se il valore finisce in una input text basta dichiarare il value così value="" e non value='', per le textarea e altri tag non dovrebbero esserci problemi)
    http://www.beavermag.it

  4. #4
    ehm.. se io inserisco gli apici normali, la stringa sql viene interrotta dove ci sono gli apici e ovviamente mi genera un errore il mysql, l'addslashes lo devo mettere per forza.

  5. #5
    Mi ero dimenticato questo piccolo particolare , cmq per il viceversa risolvi i tuoi problemi con htmlentities(stripslashes($valore))
    http://www.beavermag.it

  6. #6
    ora però ho un'altro problema, se il testo è più lungo di una riga, la funzione mi restituisce undefined
    al javascript non piace se il testo dentro una funzione è su più righe?

  7. #7
    mmm, potresti sostituire i caratteri che identificano l'a capo con dei simboli temporanei per poi risostituirli quando li devi pubblicare. In ie l'a capo è \n\r in mac solo \n
    http://www.beavermag.it

  8. #8
    ho risolto in questo modo
    <script>
    var testo = "<? echo str_replace("\r\n", "", $row[TESTO]) ?>";
    SetTextToLoad(testo);
    </script>

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 © 2024 vBulletin Solutions, Inc. All rights reserved.