Anführungszeichen in einer PHP generierten Mail

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Anführungszeichen in einer PHP generierten Mail

    ich bin relativ neu mit php zugange. habe nun fogendens problem:
    ich will eine mail per php verschicken, in der teile des bodyTextes in "Anführungsstrichen" gesetzt werden wollen. Da der gesamte Inhalt des bodys ja schon in "Anführungsstrichen" erscheint, bin ich etwas ratlos.

    das ist mein bisheriges script dazu
    PHP-Code:
    $body =   "<?xml version=". "1.0" ." encoding=". "UTF-8" ."?>\n".
            "<mailrobot>\n".
            "<general>\n".
            "<username>xxx</username>\n".
            "<password>xxx</password>\n".
            "</general>\n".
            "<order>\n".
            "<nameserver>\n".
            "<create>\n".
            "<param name=". Domain .">". $domain .".de</param>\n".
            "<param name=". IP .">11.11.11.11</param>\n".
            "<param name=". NS1 .">ns3.xxx.de</param>\n".
            "<param name=". NS2 .">ns4.xxx.de</param>\n".
            "<param name=". Arecord .">*</param>\n".
            "</create>\n".
            "</nameserver>\n".
            "</order>\n".
            "</mailrobot>\n";
    und das kommt dabei raus:
    <?xml version=1.0 encoding=UTF-8?>
    <mailrobot>
    <general>
    <username>xxx</username>
    <password>xxx</password>
    </general>
    <order>
    <nameserver>
    <create>
    <param name=Domain>domain.de</param>
    <param name=IP>11.11.11.11</param>
    <param name=NS1>ns3.xxx.de</param>
    <param name=NS2>ns4.xxx.de</param>
    <param name=Arecord>*</param>
    </create>
    </nameserver>
    </order>
    </mailrobot>


    und das soll eigentlich bei raus kommen also mit "Anfügrungszeichen":
    <?xml version="1.0" encoding="UTF-8"?>
    <mailrobot>
    <general>
    <username>xxx</username>
    <password>xxx</password>
    </general>
    <order>
    <nameserver>
    <create>
    <param name="Domain">domain.de</param>
    <param name="IP">11.11.11.11</param>
    <param name="NS1">ns3.xxx.de</param>
    <param name="NS2">ns4.xxx.de</param>
    <param name="Arecord">*</param>
    </create>
    </nameserver>
    </order>
    </mailrobot>

    danke für eure hilfe
    Zuletzt geändert von chilltec; 20.10.2004, 12:28.
    Partnerprogramm - Schnellkredite - Verreisen

  • #2
    Stichwort "escapen"

    Ende

    Kommentar


    • #3
      Beispiel:
      PHP-Code:
      "<?xml version=".\ \"1.0\\" ." encoding=".\\"UTF-8\\" ."?>\n".
      Das Leben ist kein Ponyhof.

      Kommentar


      • #4
        @Wendel: Du sieht am Highlighting, dass das totaler Schwachsinn ist, was du erzählst!

        Kommentar


        • #5
          @tobiaz
          wieso ist das schwachsinn?

          was genau verstehe ich unter escapen? kannst du mir mal ein beispiel nennen?
          Partnerprogramm - Schnellkredite - Verreisen

          Kommentar


          • #6
            Original geschrieben von chilltec
            was genau verstehe ich unter escapen? kannst du mir mal ein beispiel nennen?
            könntest du jetzt bitte mal die freundlichkeit besitzen, das im manual nachlesen zu gehen?
            http://www.php.net/manual/de/language.types.string.php

            das ist grundlagenwissen.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              was genau verstehe ich unter escapen? kannst du mir mal ein beispiel nennen?
              probier es doch selbst aus!

              Kommentar


              • #8
                jaja

                es scheint so zu gehen:
                "<?xml version=\"1.0\"?>\n";
                Partnerprogramm - Schnellkredite - Verreisen

                Kommentar


                • #9
                  hauptsache erstmal en

                  Kommentar


                  • #10
                    Ähm sorry, @Tobiaz,aber euer PHP code macht nicht unbedingt dass, was man erwarten würde, aber korrekt wars natürlich nicht!
                    Wobei mir nicht ganz klar ist, wozu die Punkte hier benötigt werden.
                    Ich würde die Zeile so schreiben:
                    <?xml version= \"1.0\" encoding=\"UTF-8\" ?>
                    und denke auch dass es funzt.
                    Mann kann aber angeblich auch alles in einfache Hochkommas setzen und braucht dann nicht zu escapen?
                    Habe aber die unterschiedlichen möglichkeiten bis heute nicht verstanden.
                    Und da wir gerade dabei sind, kannst Du mir die Unterschiede in der Syntax erklären?
                    Bzw. Wann benutze ich was? Und was ist der Vorteil?
                    @ chilltec
                    Escapen heist, das Sonderzeichen befreit werden von der Interpretation des Compilers bzw. Interpreten.
                    Also nur als einfaches Zeichen angesehen werden, ohne Bedeutung für den Code.
                    Bei einer echo anweisung beispielsweise wird alles in den Hochkommas als string ausgegeben.
                    Wenn aber innerhalb der Zeichenfolge ein Hochkomma auftritt ist der String für das echo zu ende und es wird eine Fehlermeldung ausgegeben, dass ein ; erwartet wird!
                    Deshalb muss man dieses " escapen und das geschieht in der Regel durch ein vorangestelltes Backslash. (echo" \""; würde " ausgeben.)
                    Wenn jemand bessere Erklärungen parat hat, dann her damit.

                    Sorry, ist halt blöd wärend der Arbeitszeit zu antworten weil kommt dann was dazwischen und schon ists nich mehr aktuell!
                    wäre aber scharf auf ne Erklärung der Unterschiede von nem Fachmann. Danke
                    Also denn
                    Wendel
                    Zuletzt geändert von Wendel; 20.10.2004, 14:42.
                    Das Leben ist kein Ponyhof.

                    Kommentar


                    • #11
                      PHP-Code:
                      $zahl 5;
                      echo 
                      $zahl;
                      echo 
                      "$zahl";
                      echo 
                      '$zahl'
                      - ausprobieren
                      - sehen
                      - verstehen

                      und/oder die geposteten links lesen
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        Original geschrieben von Wendel
                        Escapen heist, das Sonderzeichen befreit werden von der Interpretation des Compilers bzw. Interpreten.
                        Also nur als einfaches Zeichen angesehen werden, ohne Bedeutung für den Code.
                        Bei einer echo anweisung beispielsweise wird alles in den Hochkommas als string ausgegeben.
                        Wenn aber innerhalb der Zeichenfolge ein Hochkomma auftritt ist der String für das echo zu ende und es wird eine Fehlermeldung ausgegeben, dass ein ; erwartet wird!
                        Deshalb muss man dieses " escapen und das geschieht in der Regel durch ein vorangestelltes Backslash. (echo" \""; würde " ausgeben.)
                        Wenn jemand bessere Erklärungen parat hat, dann her damit.

                        [/B]
                        danke. jetzt habe ich es in der tat verstanden. so schwer ist es doch nicht.

                        kleine kritik: sicherlich sollte man auch suchen und in manuals nachschauen. aber wenn gepostet wird, kann auch kurz erklärt werden was gemeint ist. das dauert ebenso lange und erziehen könnte sowieso niemanden!
                        Partnerprogramm - Schnellkredite - Verreisen

                        Kommentar


                        • #13
                          Original geschrieben von chilltec
                          erziehen könnte sowieso niemanden!
                          doch, wird nur erschwert, wenn andauernd irgendwelche barmherzigen samariter zwischenreinfunken
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            Original geschrieben von chilltec
                            aber wenn gepostet wird, kann auch kurz erklärt werden was gemeint ist. das dauert ebenso lange und erziehen könnte sowieso niemanden!
                            nein, dauern tut es für jeden antworter länger, wenn er zum x-ten mal aufschreiben würde, was anderswo längst gut nachlesbar hinterlegt ist.

                            und die antworter hier sind nicht unbedingt darauf angewiesen, dass du dein problem gelöst bekommst - also nimm das hilfsangebot in form eines nützlichen links an, oder lass es bleiben.

                            ob du den erzieherischen wert dieser maßnahme zu erkennen vermagst oder nicht, ist auch wurscht - wenn nicht, werden die anderen leute irgendwann merken, dass du offenbar nicht bereit bist, eigeninitiative zu entwickeln, und dir nicht mehr antworten.
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar

                            Lädt...
                            X