Likes Likes:  0
Resultaten 1 tot 8 van de 8
Geen
  1. #1
    Nico Schuyt
    Tekst versie van mail
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Tekst versie van mail

    Ik probeer met gebruik van de mail-class van phpmailer een text-only
    equivalent van een html-berichtje op te geven.
    Om te voorkomen dat ik het hele bericht (in $content) nog een keer moet
    typen gebruik ik:
    strip_tags($content)
    en, om de html-characters als é weer om te zetten in é:
    strip_tags(html_entity_decode($content))

    Resultaat ziet er netjes uit, alleen zijn alle regeleinden verdwenen :-(
    Ook gaat de html_entity_decode() mis met een teken als €

    Heeft die text-only variant eigenlijk zin? Zowel Otlook Express als een
    eenvoudiger programma als PC-Pine zijn uitstekend in staat om die omzetting
    zelf te doen.

    --
    Nico
    www.nicoschuyt.nl





  2. #2
    Nico Schuyt
    Tekst versie van mail
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Tekst versie van mail

    Daniel Tryba wrote:
    > Nico Schuyt wrote:


    >> en, om de html-characters als é weer om te zetten in ?:
    >> strip_tags(html_entity_decode($content))


    >> Resultaat ziet er netjes uit, alleen zijn alle regeleinden verdwenen


    > Tijd voor een br2nl, te vinden in de user contribs van de nl2br
    > paginae


    Dan wordt het:
    $content=strip_tags(html_entity_decode($content));
    $content=preg_replace( "!<br.*>!iU", "\n", $content);
    Geen effect; na die strip_tags() staan er toch helemaal geen <br>'s meer ??
    (Het werkt wel als ik elke regel in PHP afsluit met \n)

    >> Ook gaat de html_entity_decode() mis met een teken als &euro;


    > Nogal logisch, de default charset heeft helemaal geen EUR symbool.
    > http://nl2.php.net/html_entity_decode voor meerinfo over alle mogelijk
    > argumenten en de beschikbare target charactersets.


    Je bedoelt dat ik ISO8859-15 moet gebruiken ipv ISO8859-1?

    >> Heeft die text-only variant eigenlijk zin? Zowel Otlook Express als
    >> een eenvoudiger programma als PC-Pine zijn uitstekend in staat om
    >> die omzetting zelf te doen.


    > HTML-only mail scoort hier hoger in de spam detectie software en
    > verdwijnt dan ook direct in het spamfolder.


    Dat zou ik niet willen dus ik geef nog niet op :-)

    > Ik zou overigens een extern progje als lynx aanroepen om de conversie
    > te doen, die zetten bv links nog om naar referenties om het geheel
    > weer een stuk functioneel te houden.


    Zal eens kijken wat Lynx doet, maar in het mailprogramma moet het binnen PHP
    gebeuren.

    Bedankt tot zover!

    --
    Nico
    www.nicoschuyt.nl



  3. #3
    Daniel Tryba
    Tekst versie van mail
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Tekst versie van mail

    Nico Schuyt <nschuyt@hotmail.com> wrote:
    > Dan wordt het:
    > $content=strip_tags(html_entity_decode($content));
    > $content=preg_replace( "!<br.*>!iU", "\n", $content);
    > Geen effect; na die strip_tags() staan er toch helemaal geen <br>'s meer ??
    > (Het werkt wel als ik elke regel in PHP afsluit met \n)


    Kijk aandachtig naar bovenstaande regel, denk diep na en sla je dan
    vervolgens zelf voor je kop omdat je zulke domme dingen post

    Daarna mag je de regels omdraaien.

    >>> Ook gaat de html_entity_decode() mis met een teken als &euro;

    >
    >> Nogal logisch, de default charset heeft helemaal geen EUR symbool.
    >> http://nl2.php.net/html_entity_decode voor meerinfo over alle mogelijk
    >> argumenten en de beschikbare target charactersets.

    >
    > Je bedoelt dat ik ISO8859-15 moet gebruiken ipv ISO8859-1?


    bv. dat is natuurliujk afhankelijk van de rest van de "enge" tekens die
    je gebruikt. Als je doelgroep nl is dan is 15 een goede keuze.

    --

    Daniel Tryba


  4. #4
    Nico Schuyt
    Tekst versie van mail
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Tekst versie van mail

    Daniel Tryba wrote:
    > Nico Schuyt <nschuyt@hotmail.com> wrote:


    >> Dan wordt het:
    >> $content=strip_tags(html_entity_decode($content));
    >> $content=preg_replace( "!<br.*>!iU", "\n", $content);
    >> Geen effect; na die strip_tags() staan er toch helemaal geen <br>'s
    >> meer ?? (Het werkt wel als ik elke regel in PHP afsluit met \n)


    > Kijk aandachtig naar bovenstaande regel, denk diep na en sla je dan
    > vervolgens zelf voor je kop omdat je zulke domme dingen post


    Hehehe, je bedoelt dat die \n de hele br2nl overbodig maakt. Had ik me
    gerealiseerd :-)
    Eindresultaat:
    $content=str_replace('<td>',chr(9),$content); //Beetje ruimte tussen
    tabelcellen
    $content=strip_tags(html_entity_decode($content)); //HTMLtags strippen en
    tekens omzetten
    $mail->AltBody ="Text-only 3 version:".$content ;


    >>> Nogal logisch, de default charset heeft helemaal geen EUR symbool.
    >>> http://nl2.php.net/html_entity_decode voor meerinfo over alle
    >>> mogelijk argumenten en de beschikbare target charactersets.


    >> Je bedoelt dat ik ISO8859-15 moet gebruiken ipv ISO8859-1?


    > bv. dat is natuurliujk afhankelijk van de rest van de "enge" tekens
    > die je gebruikt. Als je doelgroep nl is dan is 15 een goede keuze.


    Dat lukt nog niet erg. Zeker met &euro; € lijkt meer kansen te hebben.

    --
    Nico
    www.nicoschuyt.nl




  5. #5
    Daniel Tryba
    Tekst versie van mail
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Tekst versie van mail

    Nico Schuyt <nschuyt@hotmail.com> wrote:
    >>> $content=strip_tags(html_entity_decode($content));
    >>> $content=preg_replace( "!<br.*>!iU", "\n", $content);
    >>> Geen effect; na die strip_tags() staan er toch helemaal geen <br>'s
    >>> meer ?? (Het werkt wel als ik elke regel in PHP afsluit met \n)

    >
    >> Kijk aandachtig naar bovenstaande regel, denk diep na en sla je dan
    >> vervolgens zelf voor je kop omdat je zulke domme dingen post

    >
    > Hehehe, je bedoelt dat die \n de hele br2nl overbodig maakt. Had ik me
    > gerealiseerd :-)


    Neen, ik had het over de volgorde:
    1) vervang alle "tags" door ""
    2) vervang de <br> "tag" door "\n"

    De kans van slagen: 0%

    --

    Daniel Tryba


  6. #6
    Nico Schuyt
    Tekst versie van mail
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Tekst versie van mail

    Daniel Tryba wrote:
    > Nico Schuyt <nschuyt@hotmail.com> wrote:
    >>>> $content=strip_tags(html_entity_decode($content));
    >>>> $content=preg_replace( "!<br.*>!iU", "\n", $content);
    >>>> Geen effect; na die strip_tags() staan er toch helemaal geen <br>'s
    >>>> meer ?? (Het werkt wel als ik elke regel in PHP afsluit met \n)


    >>> Kijk aandachtig naar bovenstaande regel, denk diep na en sla je dan
    >>> vervolgens zelf voor je kop omdat je zulke domme dingen post


    >> Hehehe, je bedoelt dat die \n de hele br2nl overbodig maakt. Had ik
    >> me gerealiseerd :-)


    > Neen, ik had het over de volgorde:
    > 1) vervang alle "tags" door ""
    > 2) vervang de <br> "tag" door "\n"
    > De kans van slagen: 0%


    Maar, ehhh, er zijn/waren op geen enkel moment <br>'s :-)
    De oorspronkelijke content was iets als:
    $content.="<h1>Koptekst 1 in rood</h1>";
    $content.="<h2>Koptekst 2 in blauw</h2>";
    $content.="<p>Hier een plaatje: <img src=\"cid:cidcode\" alt=\"my photo\"
    /></p>";
    $content.="<p>Tekst \"een groot\" met accenten en twee Eurotekens:
    &eacute;&eacute;n gr&oacute;&oacute;t &euro; (€)</p>";
    $content.="<table>";
    $content.="<tr><td>xx</td><td>xx</td><td>xx</td></tr>";
    $content.="<tr><td>yy</td><td>yy</td><td>yy</td></tr>";
    $content.="<tr><td>zz</td><td>zz</td><td>zz</td></tr>";
    $content.="</table>";
    Als je dat stript wordt het (logisch achteraf) een lange regel.

    Als ik per regel '\n' toepas of het vervang door:
    $content ="<h1>Koptekst 1 in rood</h1>
    <h2>Koptekst 2 in blauw</h2>
    <p>Hier een plaatje: <img src=\"cid:cidcode\" alt=\"my photo\" /></p>
    <p>Tekst \"een groot\" met accenten en twee Eurotekens: &eacute;&eacute;n
    gr&oacute;&oacute;t &euro; (€)</p>
    <p>Hier een link <a
    href=\"http://www.nicoschuyt.nl\">http://www.nicoschuyt.nl</a></p>
    <table><tr><td>xx</td><td>xx</td><td>xx</td></tr>
    <tr><td>yy</td><td>yy</td><td>yy</td></tr>
    <tr><td>zz</td><td>zz</td><td>zz</td></tr>
    </table>";
    , is het probleem opgelost.

    --
    Nico
    www.nicoschuyt.nl



  7. #7
    Daniel Tryba
    Tekst versie van mail
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Tekst versie van mail

    Nico Schuyt <nschuyt@hotmail.com> wrote:
    >> Neen, ik had het over de volgorde:
    >> 1) vervang alle "tags" door ""
    >> 2) vervang de <br> "tag" door "\n"
    >> De kans van slagen: 0%

    >
    > Maar, ehhh, er zijn/waren op geen enkel moment <br>'s :-)


    Okee

    [snip]
    > Als je dat stript wordt het (logisch achteraf) een lange regel.
    >
    > Als ik per regel '\n' toepas of het vervang door:
    > $content ="<h1>Koptekst 1 in rood</h1>
    > <h2>Koptekst 2 in blauw</h2>
    > <p>Hier een plaatje: <img src=\"cid:cidcode\" alt=\"my photo\" /></p>
    > <p>Tekst \"een groot\" met accenten en twee Eurotekens: &eacute;&eacute;n

    [snip]

    Een mogelijk oplossing, wellicht zou het handiger zijn geweest om de
    br2nl aan te passen aan een meer zinnige html2text eis. Het einde van oa
    hx, tr zou je willen vervangen door een newline.

    De behorende regexp is natuurlijk een oefening voor de lezer

    --

    Daniel Tryba


  8. #8
    Nico Schuyt
    Tekst versie van mail
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Tekst versie van mail

    Daniel Tryba wrote:
    > De behorende regexp is natuurlijk een oefening voor de lezer


    Hehehe, de basis van dat mailgebeuren is al genoeg oefening voor de lezer
    :-)
    Heb je overigens nog wel een suggestie voor een mailreader die onder Windows
    draait en een 'worst case' situatie weergeeft (zoals je Lynx gebruik om een
    website te beoordelen).
    PC-Pine lijkt me redelijk basic, maar wellicht zijn er betere.

    --
    Nico
    www.nicoschuyt.nl



Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics