Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Inviare per e-mail i caratteri newline del textarea

    Devo inviare per e-mail un testo inserito in un campo TEXTAREA, conservando però tutti i newline.

    Ho trovato molte info nella preziosa pillola di Saibal:
    http://forum.html.it/forum/showthrea...hreadid=228487

    però io non devo inserire il testo in un database, ma inviarlo per e-mail.
    Quindi i
    non mi servono.

    Il mio campo textarea si chiama "condizioni", allora se faccio:

    Codice PHP:
    $Condizioni nl2br(stripslashes($_POST["condizioni"])); 
    e poi ci metto nel body dell'e-mail:

    Codice PHP:
    $Body $Condizioni
    mi ritrovo un testo lughissimo senza nessun "a capo".

    Se invece faccio

    Codice PHP:
    $Condizioni nl2br(stripslashes($_POST["condizioni"]));
    $Condizioni str_replace("
    "
    "\n"$Condizioni);
    $Body $Condizioni
    tutto funziona, ma non mi sembra il massimo dell'eleganza quel doppio str_replace.

    C'e' qualche via più diretta?

    Grazie

  2. #2
    se l'email è in formato html ti servono i

    se è in formato text-plain si usano i \n

    io credo che tu invii i dati in formato text-plain e quindi non serve né nl2br né str_replace
    E' la mia opinione ed io la condivido
    Non condivido la tua idea ma darei la vita perché tu la possa esprimere (Voltaire)
    Scrivi sul muro

  3. #3
    ...leggi qui

  4. #4
    [supersaibal]Originariamente inviato da boomboom69
    se l'email è in formato html ti servono i

    se è in formato text-plain si usano i \n

    io credo che tu invii i dati in formato text-plain e quindi non serve né nl2br né str_replace [/supersaibal]
    Il formato di invio è text-plain e quindi mi servono i \n.
    Se prendo però il contenuto liscio del $_POST["condizioni"], mi ritrovo una sola linea lunghissima dove tutti gli "invio" della textarea sono stati "rimossi".

    Per questo devo convertire prima gli "invio" in break e poi riconvertire i break in "\n".

    Ripeto, funziona, ma non mi sembra il massimo.


  5. #5
    [supersaibal]Originariamente inviato da Rhamirez
    ...leggi qui [/supersaibal]
    Be', ho letto, ma non ho trovato la spiegazione

    Il fatto è che se metto nella e-mail il testo proveniente direttamente dalla textarea stripslashes($_POST["condizioni"]), i "\n" vengono ignorati nell'e-mail inviata, se invece nel body metto:

    Codice PHP:
    $Condizioni nl2br(stripslashes($_POST["condizioni"]));
    $Condizioni str_replace("
    "
    "\n"$Condizioni);
    $Body $Condizioni
    allora i "\n" vengono applicati. Mi sembra assurdo: sinceramente non riesco a capire perchè.

    Qualche suggerimento?



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.