Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: Problema d'a capo...

  1. #1
    Utente di HTML.it L'avatar di JoeP
    Registrato dal
    May 2004
    Messaggi
    558

    Problema d'a capo...

    Sul mio sito ho inserito il controllo HTML <TEXTAREA> in form.
    Il vitatore scrive li qualcosa, poi clicca invia e mi manda tutto per email (tramite una pagina PHP che riceve il valore del TEXTAREA).

    Il problema nasce quando il visitatore va a capo nel TEXTAREA...
    La pagina che deve inviare l'email riceve come valore del TEXTAREA:
    riga1%0D%0Ariga2
    e l'email mi arriva senza gli a capo.

    Ho provato con la funzione str_replace a sostituire gli %0D%0A sia con \n che con
    , ma ricevo poi l'email contenente nel testo proprio gli "\n" e i "
    ".

    Come posso fare. C'è una variabile per il carattere "a capo" in PHP?

  2. #2
    Utente di HTML.it L'avatar di JoeP
    Registrato dal
    May 2004
    Messaggi
    558
    Nessuno ha una soluzione?

  3. #3
    potresti provare con nl2br()... ma non so se funziona in questo caso..
    I'm your dreams, make you real... I'm your eyes when you must steel...I'm pain when you can't feel...sad but true !

  4. #4
    Utente di HTML.it L'avatar di JoeP
    Registrato dal
    May 2004
    Messaggi
    558
    cos'è quella funzione?

  5. #5
    sostituisce i \n con
    ...
    I'm your dreams, make you real... I'm your eyes when you must steel...I'm pain when you can't feel...sad but true !

  6. #6
    Utente di HTML.it L'avatar di JoeP
    Registrato dal
    May 2004
    Messaggi
    558
    Originariamente inviato da Hornwind
    sostituisce i \n con
    ...
    ho dubbi sulla riuscita...

    comunque... dovrei usare quindi str_replace('%0D%0A', nl2br(), $contenutomessaggio) ?

  7. #7
    ehm...

    nello specifico

    codice:
    %0D = 13° carattere della tabella ascii
    %0A = 10° carattere della tabella ascii
    che rispettivamente sono
    \r\n

    quindi usando str_replace devi fare

    codice:
    $testo = str_replace("%0D%0A", "\r\n", $testo);
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  8. #8
    Utente di HTML.it L'avatar di JoeP
    Registrato dal
    May 2004
    Messaggi
    558
    Originariamente inviato da daniele_dll
    $testo = str_replace("%0D%0A", "\r\n", $testo);
    Come ho spiegato nel primo mess:
    Se uso la funzione str_replace("%0D%0A", "\n", $testo);, nell'email che ricevo visualizzo proprio il testo con i due caratteri "\n" in mezzo alle varie righe, invece che degli aCapo.
    Quindi credo che valga lo stesso per str_replace("%0D%0A", "\r\n", $testo);..

  9. #9
    Utente di HTML.it L'avatar di JoeP
    Registrato dal
    May 2004
    Messaggi
    558

    Re: Problema d'a capo...

    Torniamo da capo (?!?). Riposto il primo mess...

    Originariamente inviato da JoeP
    Sul mio sito ho inserito il controllo HTML <TEXTAREA> in form.
    Il vitatore scrive li qualcosa, poi clicca invia e mi manda tutto per email (tramite una pagina PHP che riceve il valore del TEXTAREA).

    Il problema nasce quando il visitatore va a capo nel TEXTAREA...
    La pagina che deve inviare l'email riceve come valore del TEXTAREA:
    riga1%0D%0Ariga2
    e l'email mi arriva senza gli a capo.

    Ho provato con la funzione str_replace a sostituire gli %0D%0A sia con \n che con
    , ma ricevo poi l'email contenente nel testo proprio gli "\n" e i "
    ".

    Come posso fare. C'è una variabile per il carattere "a capo" in PHP?
    Nessuno sa come fare diversamente dai post precedenti?

  10. #10
    Originariamente inviato da JoeP
    Come ho spiegato nel primo mess:
    Se uso la funzione str_replace("%0D%0A", "\n", $testo);, nell'email che ricevo visualizzo proprio il testo con i due caratteri "\n" in mezzo alle varie righe, invece che degli aCapo.
    Quindi credo che valga lo stesso per str_replace("%0D%0A", "\r\n", $testo);..
    potresti postare per intero il tuo codice pls...

    quando scrivi, SEMPRE, "\r" o "\n" o "\r\n" o "\t" o "\XXX" e cosi via... è PHP che IN AUTOMATICO converte quel carattere speciale nella sua controparte della tabella ascii...di conseguenza se fai

    str_replace("%0D%0A", "\r\n", $testo);

    o se fai

    str_replace("%0D%0A", "\n", $testo);

    ti inserirà i relativi codici ascii che nel caso di \r è il 13 è di \n è il 10 e il primo indica il ritorno di riga e il secondo l'andata a capo...

    ad es se fai

    '\r\n' ti sostituirà ai caratteri che gli hai chiesto \r\n cosi come sono, come del testo

    posta il codice ^^
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

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