Andi: Neue Zeile

Hallo Forumer!

Also ich habe folgendes Problem:

Ich schicke eine Text zu einer URL

$msg = "Hier fängt der Text an \n";
$msg .= "und hier geht er weiter \n";
$msg = urlencode($msg);

und die soll dann den Text ausgeben, wenn etwas enthalten ist. Nur checkt javascript den Zeilenumbruch nicht und sagt mir immer,dass das Ende des Strings fehlt !?!

Gibt es hier eine andere Lösung?

Danke im voraus!

Grüsse
Andi

  1. hi,

    Ich schicke eine Text zu einer URL

    schicken? wie?

    $msg = "Hier fängt der Text an \n";
    $msg .= "und hier geht er weiter \n";
    $msg = urlencode($msg);

    und die soll dann den Text ausgeben, wenn etwas enthalten ist. Nur checkt javascript den Zeilenumbruch nicht und sagt mir immer,dass das Ende des Strings fehlt !?!

    dass strings in javascript nicht über mehrere zeilen gehen dürfen, sollte bekannt sein.

    gruss,
    wahsaga

    1. dass strings in javascript nicht über mehrere zeilen gehen dürfen, sollte bekannt sein.

      Wieso funktioniert dann Deiner Meinung nach 'javascript:var text="eins\nzwei\ndrei"; alert(text);'?

      1. hi,

        dass strings in javascript nicht über mehrere zeilen gehen dürfen, sollte bekannt sein.

        Wieso funktioniert dann Deiner Meinung nach 'javascript:var

        text="eins\nzwei\ndrei"; alert(text);'?

        da hast du mich misverstanden.

        dass \n innerhalb von JS-strings das steuerzeichen für den zeilenumbruch ist, ist klar.

        ich wollte jedoch darauf hinweisen, dass es nicht erlaubt ist, literale in JS über zeilengrenzen hinweg zu notieren.

        var string1 = "text blah blubb"; // OK

        var string2 = "text
        blah
        blubb"; // nicht OK

        (habe ich mich wirklich so unklar ausgedrückt?)

        gruss,
        wahsaga

        1. dass strings in javascript nicht über mehrere zeilen gehen dürfen, sollte bekannt sein.

          Wieso funktioniert dann Deiner Meinung nach 'javascript:var
          text="eins\nzwei\ndrei"; alert(text);'?

          da hast du mich misverstanden.

          (habe ich mich wirklich so unklar ausgedrückt?)

          Nein, ich habe gepennt, sorry. Er schreibt seine Javascript-Zeile ja in PHP, so daß bereits dort der Text \n in das Byte 0x0a umgewandelt wird. Der richtige Code oben wäre also 'javascript:var text="eins%0Azwei%0Adrei"; alert(text);' gewesen - und der funktioniert (natürlich) tatsächlich nicht. Asche auf mein Haupt.

          Nur am Rande für Andi: Alternative zu dem \\n, daß jetzt wohl eingesetzt wird, wäre, den Javascript-Code in PHP nicht in doppelte, sondern einfache Anführungszeichen zu setzen, da \n & Co. von PHP dann nicht umgewandelt werden:

          $msg = 'Hier fängt der Text an \n';
          $msg .= 'und hier geht er weiter \n';
          $msg = urlencode($msg);

    2. Hi!

      $msg = "Hier fängt der Text an \n";
      $msg .= "und hier geht er weiter \n";
      $msg = urlencode($msg);

      Ja so:

      <a href='$PHP_SELF?msg=$msg'>irgendwohin</a>

      und dann ausgeben, aber er bringt mir einen Fehler

      Grüsse
      Andi

  2. Ich schicke eine Text zu einer URL

    $msg = urlencode($msg);

    und die soll dann den Text ausgeben, wenn etwas enthalten ist. Nur checkt javascript den Zeilenumbruch nicht

    Wo ist der nicht funktionierende Javascript-Code und was meinst Du mit "Text an eine URL schicken", sprich: wie rufst Du ihn auf?

  3. Hi!

    Es funktioniert jetzt:

    Mache es jetzt so:

    eval($msg .= "Das ist ein Text \\n ";);

    Dann klappts auch mit nen Javascript

    Grüsse
    Andi