Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150

    [sprintf] Costruire testo mail complesso

    Ciao a tutti,
    mi sto perdendo in un bicchier d'acqua, riguardo a questo problema che dovrei risolvere urgentemente.
    Ho una procedura di invio mail, che funziona correttamente e i dati che popolano la stessa, presenti in una tabella, in vari campi distinti (testo_mail, numero_telefonico, path_imagini, etc...)

    Devo costruire il corpo della mail (una mail pubblicitaria) che ha delle parti fisse (il codice HTML), mentre cambia solo per i valori di volta in volta presenti in tabella.
    Quindi la struttura è sempre la stessa.

    Premesso questo, l'idea sarebbe quella di usare un testo predefinito (che presenti gli opportuni richiami %s) e costruirmi la variabile contenente il testo completo, nel seguente modo

    Codice PHP:
    $testo_finale=sprintf("testo bla bla bla bla [%s] prova [%s]",$variabile_01$variabile_02");
    ...
    ...
    $mail->setHTML($testo_finale); 
    Il problema è che il corpo della mail è questo e mi da una mare di errori.
    Da che dipende?

    Ho "annullato" i doppi apici -- \" --, ma l'errore rimane.
    Ho provato a mettere le varie righe tutte su una riga, ma non risolvo.

    Come posso fare?
    Qualsiasi altro suggerimento è chiaramente ben accetto.

    Grazie in anticipo.

    ps. questo il testo finale della mail dove, ad esempio LINK01, LINK02, LINK03 dovrei sostituirli con %s
    (il codice è css inline, adatto all'invio di mail di questo tipo).


    Codice PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <
    html><head>
    <
    title>Email in HTML e CSS</title>
    <
    meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
    <
    meta name="generator" content="HAPedit 3.1">
    </
    head><body>
    <
    p style="margin-top:0; text-align:center; font-family: Verdana,Arial,sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10px; line-height: 1.0; font-size-adjust: none; font-stretch: normal;">
    Se non visualizzi correttamente la mailclicca [url="LINK"]qui[/url]
    </
    p>
    <
    div style="margin: 0pt auto; background: rgb(255, 255, 255) none repeat scroll 0% 0%; width: 500px; font-family: Verdana,Arial,sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: 1.4; font-size-adjust: none; font-stretch: normal; -x-system-font: none; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; color: rgb(68, 68, 68);">
    <
    table border=1 cellspacing=0 cellpadding=5 style="margin:0;font-size:12px">
    <
    tbody>
    <
    tr>
    <
    td style="border-top:0px solid rgb(68, 68, 68); border-left:0px solid rgb(68, 68, 68); border-right:0px solid rgb(68, 68, 68)" valign=top>
    [
    img]logopubli.jpg[/img]
    <
    p style="margin-top:0; text-align:justify;">TESTO
    </p>
    <
    div style="margin-left:-5px; border:0px solid #0099ff;background: #0099ff;color: #fff; height:20px; width:70%;">
    </
    div>
    <
    table border=0 cellspacing=5 cellpadding=5 style="margin:8px;font-size:12px">
    <
    tbody>
    <
    tr>
    <
    td style="border-top:0px solid #CCC; border-left:0px solid #CCC; align=center">
    [
    img]LINK01[/img]
    <
    p style="margin-top:0; text-align:center;">template 01 </p>
    </
    td>
    <
    td>
    [
    img]LINK02[/img]
    <
    p style="margin-top:0; text-align:center;">template 02 </p>
      </
    td>
    <
    td>
    [
    img]LINK03[/img]
    <
    p style="margin-top:0; text-align:center;">template 03 </p>
    </
    td>
    </
    tr>
    </
    tbody>
    </
    table>
    <
    div style="margin-top:-10px; margin-left:152px; border:0px solid #0099ff;background: #0099ff;color: #fff; height:20px; width:70%;">
    </
    div>
    [
    email="xxx@xxx.com"][img]http://images/phone.gif[/img]12345566[/email]


    [email="xxx@xxx.com"][img]http://images/mail.gif[/img]xxx@xxx.com[/email]


    [url="http://www.xxx.com"][img]http://images/home.gif[/img][url]www.xxx.com[/url][/url]
    </td>
    </
    tr>
    </
    tbody>
    </
    table>
    </
    div>
    </
    body>
    </
    html

  2. #2

    Re: [sprintf] Costruire testo mail complesso

    Originariamente inviato da mosquito70
    Il problema è che il corpo della mail è questo e mi da una mare di errori.
    Magari se dicessi quali errori ottieni...

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150

    Re: Re: [sprintf] Costruire testo mail complesso

    Originariamente inviato da filippo.toso
    Magari se dicessi quali errori ottieni...
    Scusate, pensavo non fosse importante

    Il messaggio di errore è "too few arguments" oppure non mi visualizza nulla.

  4. #4
    Devi eseguire l'escaping dei singolo % all'interno dell'HTML per poter utilizzare sprintf().

    Codice PHP:
    $format '<div style="width: 70%">%s</div>'// ERRATO
    $format '<div style="width: 70%%">%s</div>'// GIUSTO 

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Originariamente inviato da filippo.toso
    Devi eseguire l'escaping dei singolo % all'interno dell'HTML per poter utilizzare sprintf().

    Codice PHP:
    $format '<div style="width: 70%">%s</div>'// ERRATO
    $format '<div style="width: 70%%">%s</div>'// GIUSTO 
    Grazie.
    Preziosissimo consiglio.

    Provo e vi faccio sapere.

    Edit
    Risolto

    (oltre all'escaping del singolo %, ho fatto anche quello dei doppi apici [ " ] )

    Grazie ancora.

    Questo il codice finale
    Codice PHP:
            $prova=sprintf("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">
    <html><head>
    <title>Email in HTML e CSS</title>
    <meta http-equiv=\"content-type\" content=\"text/html; charset=ISO-8859-1\">
    <meta name=\"generator\" content=\"HAPedit 3.1\">
    </head><body>
    <p style=\"margin-top:0; text-align:center; font-family: Verdana,Arial,sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10px; line-height: 1.0; font-size-adjust: none; font-stretch: normal;\">
    Se non visualizzi correttamente la mail, clicca <a href=\"%s\" style=\"color: #333;font-weight:bold;text-decoration:underline\">qui</a>
    </p>
    <div style=\"margin: 0pt auto; background: rgb(255, 255, 255) none repeat scroll 0%% 0%%; width: 500px; font-family: Verdana,Arial,sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: 1.4; font-size-adjust: none; font-stretch: normal; -x-system-font: none; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; color: rgb(68, 68, 68);\">
    <table border=1 cellspacing=0 cellpadding=5 style=\"margin:0;font-size:12px\">
    <tbody>
    <tr>
    <td style=\"border-top:0px solid rgb(68, 68, 68); border-left:0px solid rgb(68, 68, 68); border-right:0px solid rgb(68, 68, 68)\" valign=top>
    <img src=\"logopubli.jpg\" border=0 style=\"float:left;margin: 2px 8px 3px 0\" width=100 height=110 alt=\"mare\">
    <p style=\"margin-top:0; text-align:justify;\">%s
    </p>
    <div style=\"margin-left:-5px; border:0px solid #0099ff;background: #0099ff;color: #fff; height:20px; width:70%%;\">
    </div>
    <table border=0 cellspacing=5 cellpadding=5 style=\"margin:8px;font-size:12px\">
    <tbody>
    <tr>
    <td style=\"border-top:0px solid #CCC; border-left:0px solid #CCC; align=center\">
    <img src=\"%s\" border=0 width=140 height=140 alt=\"Template numero 1\">
    <p style=\"margin-top:0; text-align:center;\">template 01 </p>
    </td>
    <td>
    <img src=\"%s\" border=0 width=140 height=140 alt=\"Template numero 2\">
    <p style=\"margin-top:0; text-align:center;\">template 02 </p>
      </td>
    <td>
    <img src=\"%s\" border=0 width=140 height=140 alt=\"Template numero 3\">
    <p style=\"margin-top:0; text-align:center;\">template 03 </p>
    </td>
    </tr>
    </tbody>
    </table>
    <div style=\"margin-top:-10px; margin-left:152px; border:0px solid #0099ff;background: #0099ff;color: #fff; height:20px; width:70%%;\">
    </div>
    <a href=\"mailto:xxx@xxx.com\" style=\"padding-bottom: 4px; margin-left:0px; padding-left: 5px; text-decoration:none; font-family: Verdana,Arial,sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10px; line-height: 1.0; font-size-adjust: none; font-stretch: normal; color:#333;\"><img src=\"http://images/phone.gif\" border=0>%s</a>


    <a href=\"mailto:xxx@xxx.com\" style=\"padding-bottom: 4px; margin-left:0px; padding-left: 5px; text-decoration:none; font-family: Verdana,Arial,sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10px; line-height: 1.0; font-size-adjust: none; font-stretch: normal; color:#333;\"><img src=\"http://images/mail.gif\" border=0>%s</a>


    <a href=\"http://www.xxx.com\"  style=\"padding-bottom: 4px; margin-left:0px; padding-left: 5px; text-decoration:none; font-family: Verdana,Arial,sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 10px; line-height: 1.0; font-size-adjust: none; font-stretch: normal; color:red;\"><img src=\"http://images/home.gif\" border=0>[url]www.xxx.com[/url]</a>
    </td>
    </tr>
    </tbody>
    </table>
    </div>
    </body> 

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.