-Frank: HTML Tags

Hallo,

ich habe noch eine Frage, bevor ich stundenlang sinnlos rumprobiere.

Ich habe einen Formmailer mir gebastelt. Der Formmailer sendet mir ein Text zu, der in einer Textarea eingegeben wurde.

Wenn man z.B. in der Textarea zweimal "Entern" würde, wäre ja sozusagen, <br><br> das entsprechende HTML TAG.

Kann man nun es in der Email auch so machen, dass die HTML TAGs auch "sichtbar" sind.

es geht mir nur um die <br>

Viele Grüße
Frank

  1. Hi,

    Wenn man z.B. in der Textarea zweimal "Entern" würde, wäre ja sozusagen, <br><br> das entsprechende HTML TAG.

    ja - aber nur in HTML - wenn Du eine text/plain-Mail verschickst, reichen die Zeilenumbrüche.

    Kann man nun es in der Email auch so machen, dass die HTML TAGs auch "sichtbar" sind.

    wieso sichtbar? Der User gibt doch keinen HTML-Code ein.

    freundliche Grüße
    Ingo

    1. Hallo,

      ich möchte es halt dass es auch in der Email "sichtbar" ist nur die <br><be> Tags.

      Wenn irgendeiner mir eine Nachricht schreibt und ich diese später in meine Homepage einbauen will, will ich dass es auch genauso aussieht, wie in der Textarea eingegeben wurde.

      Besten Dank
      Frank.

      1. Hi there,

        ich möchte es halt dass es auch in der Email "sichtbar" ist nur die <br><be> Tags.

        Wenn Du <br>Tags in der email sichtbar machen möchtest musst Du jeden <br>-Tag durch chr(13) ersetzen, also etwa $msg='lsdfksödfk sdölfk'.chr(13).'dösfkösdkf sdölkf ösdlkf '.chr(13).... etc. Das wird von allen Emailclients am verlässlichsten angezeigt...

        1. Hallo,

          und wie stellt es man in der Textarea so ein, dass alle "Enter" als <br> oder chr(13) angezeigt werden?

          Ich will ja nicht meinen Besuchern dazu nötigen bzw. zwingen immer ein <br> bzw. chr(13) zu benutzen an stelle von einem "Enter"

          Das mit chr(13) weiss ich ja auch.

          Besten Dank
          Frank.

          1. Hallo,

            bin schon ganz nah an meine Lösung, ich verwende nun diesen Code:

            $text=ereg_replace("\n","<br>",$_POST['textarea']);

            zwar werden mir die Zeilenümbruche in der Textarea auch in der Email so angezeigt wie in der Textarea, aber ich hätte gerne in der Email anstelle der Zeilenümbrüche <br> stehen. Escaped habe ich schon gemacht, aber keine auswirkung.

            Gruß
            -Frank

            1. Hi there,

              zwar werden mir die Zeilenümbruche in der Textarea auch in der Email so angezeigt wie in der Textarea, aber ich hätte gerne in der Email anstelle der Zeilenümbrüche <br> stehen. Escaped habe ich schon gemacht, aber keine auswirkung.

              ok, hab Dich falsch verstanden. Wenn Du ein <br> "sehen" möchtest, dann musst du \n nicht durch <br> sondern durch &lt;br&gt; ersetzen. Das ist in Bezug auf Zeilenumbrüche zwar wirkungslos, zeigt Dir aber in den meisten Mail-Clients
              garantiert <br>...

              1. Hallo Klawischnigg,

                vielen Dank. Es hat funktioniert.

                Besten Dank.

                Schönen Abend noch.
                Frank.

                1. hi,

                  vielen Dank. Es hat funktioniert.

                  Nur mal aus Neugier, möchtest du die <br> tatsächlich so stehen haben, richtig als Text, oder möchtest du, dass die Zeilenumbrüche angezeigt werden?

                  Option 1:
                  „Mailtext, den irgendwer geschrieben hat<br><br>viele Grüsse!“

                  oder doch Option 2:
                  „Mailtext, den irgendwer geschrieben hat

                  viele Grüsse!“

                  Für letzteres im HTML-Kontext eignet sich auch nl2br.

                  mfg

                  --
                  „Wenn du nicht bereit bist, dafür zu sterben, dann streiche das Wort »Freiheit« aus deinem Vokabular.“ -- Malcolm X
                  I Have a Dream
                  1. echo $begrüßung;

                    Ergänzend:

                    Option 1:
                    „Mailtext, den irgendwer geschrieben hat<br><br>viele Grüsse!“

                    Diese Option ist auch schon deshalb nicht zu empfehlen, da hier Code für einen bestimmten Ausgabekontext in den eigentlichen Daten landet, und der Ausgabekontext erst viel später von Bedeutung wird. Konsequenterweise müsste man dann komplett den HTML-Kontext berücksichtigen und von Benutzer eingegebene HTML-spezifische Zeichen auch entsprechend notieren.

                    Damit handelt man sich möglicherweise weitere Folgeprobleme ein. Wenn vorgesehen ist, dass der Anwender bis zu 300 Zeichen eingeben darf, dann konfiguriert man ein Datenbankfeld auch auf 300 Zeichen und hat dann einen Datenverlust, wenn durch die <br> der Text länger wird. Damit dies nicht geschieht, müsste man bei jedem Verarbeitungsschritt die für die jeweils maximal mögliche Textlänge benötigte Speicherplatzmenge mit berücksichtigen und hat dann ein Vielfaches an potentiell belegtem Platz vorzuhalten. Der nächste wundert sich dann (dokumentiert ist ja "üblicherweise" sowieso nichts): "Wieso hat der die Spalte auf 1200 Zeichen gesetzt, wenn doch der Anwender nur 300 eingeben darf?" Zack - gekürzt - Datenverlust.

                    oder doch Option 2:
                    „Mailtext, den irgendwer geschrieben hat

                    viele Grüsse!“
                    Für letzteres im HTML-Kontext eignet sich auch nl2br.

                    In dem Fall bleiben die Rohdaten in ihrer üblichen Länge erhalten und lassen sich für jedes beliebige Ausgabemedium umformatieren, ohne dass man zuerst die HTML-Kontext-Kodierung entfernen muss. Eine Ausgabemedium-spezifische Behandlung sollte aus dem Grund immer erst zur konkreten Ausgabe vorgenommen werden.

                    echo "$verabschiedung $name";

                    1. hi,

                      Option 1:
                      „Mailtext, den irgendwer geschrieben hat<br><br>viele Grüsse!“

                      Diese Option ist auch schon deshalb nicht zu empfehlen, da hier Code für einen bestimmten Ausgabekontext in den eigentlichen Daten landet, und der Ausgabekontext erst viel später von Bedeutung wird. Konsequenterweise müsste man dann komplett den HTML-Kontext berücksichtigen und von Benutzer eingegebene HTML-spezifische Zeichen auch entsprechend notieren.

                      Deshalb die Nachfrage, komisch klingt dass ganze ja schon.

                      „Mailtext, den irgendwer geschrieben hat

                      viele Grüsse!“
                      Für letzteres im HTML-Kontext eignet sich auch nl2br.

                      In dem Fall bleiben die Rohdaten in ihrer üblichen Länge erhalten und lassen sich für jedes beliebige Ausgabemedium umformatieren, ohne dass man zuerst die HTML-Kontext-Kodierung entfernen muss. Eine Ausgabemedium-spezifische Behandlung sollte aus dem Grund immer erst zur konkreten Ausgabe vorgenommen werden.

                      Wenn es jetzt nur ein reiner mailversand wäre, wo nichts gespeichert wird, könnte man es ja auch schon beim abschicken machen, eigentlich müsste man ja schon beim abschicken alles umgewandelt haben, nach erfolgreichem versenden der Mail habe ich ja keinen einfluss mehr darauf.

                      mfg

                      --
                      „Wenn du nicht bereit bist, dafür zu sterben, dann streiche das Wort »Freiheit« aus deinem Vokabular.“ -- Malcolm X
                      I Have a Dream