Ankündigung

Einklappen
Keine Ankündigung bisher.

Per PHP Javascript-Funktion ausgeben

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Per PHP Javascript-Funktion ausgeben

    Hallo!

    Ich bin auf folgendes Problem gestoßen:
    Ich mochte folgendes Java-Script per PHP ausgeben:
    Code:
    <?php
    	 echo '<script type="text/javascript">
    	   var editor1 = new WYSIWYG_Editor('editor1');
    	   editor1.display();
    	  </script>
    ?>
    Dies funktioniert leider nicht und Eclipse zeigt an:
    syntax error, unexpected 'editor1', expecting ',' or ';'

    Das bedeutet soweit ich weiß soviel wie, dass er versucht den Javascript-Code als PHP zu interpretieren und scheitert dabei!
    (Ist mir bisher jedesmal passiert wenn ich versucht habe mit echo ein JS auszugeben!)

    Wie kann ich nun dieses Javascript ohne Probleme ausgeben?

    Vielen Dank für eure Hilfe im Vorraus,
    <?php?>

  • #2
    Dein Problem sind ganz einfach die Anfuehrungszeichen, wenn du die escapest und deinen String noch ordentlich schließt, dann gibts auch keine Probleme.

    Kommentar


    • #3
      Meinst du damit, dass ich aus Versehen nach </script> das '; vergessen habe?

      Das ist ein Tippfehler, ist mir auch gerade aufgefallen, aber an dem liegts nicht!

      Kommentar


      • #4
        Zitat von <?php?> Beitrag anzeigen
        PHP-Code:
        <?php
             
        echo '<script type="text/javascript">
               var editor1 = new WYSIWYG_Editor('
        editor1');
               editor1.display();
              </script>
        ?>
        So wirds deutlicher...

        Ein String, der mit einem einfachen Anführungszeichen beginnt, endet auch mit einem solchen - es sei denn, das einfache Anführungszeichen wird escaped...
        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

        Kommentar


        • #5
          Aus eigener Erfahrung empfehle ich, Javascript auszulagern.

          PHP-Code:
          echo '<script src="skript.js" type="text/javascript"></script>'

          Kommentar


          • #6
            Ich habe ja nur aus Versehen, das '; am Ende vergessen

            Mein jetztiger Quellcode:
            PHP-Code:
            <?php
                 
            echo '<script type="text/javascript">
                   var editor1 = new WYSIWYG_Editor('
            editor1');
                   editor1.display();
                  </script>'
            ;
            ?>
            Aber so funktionierts genauso nicht!

            Kommentar


            • #7
              Vielen Dank!
              Mit dem Auslagern hats funktioniert!
              Da habe ich garnicht mehr dran gedacht

              Vielen Dank!
              <?php?>

              Kommentar


              • #8
                Jung... du SIEHST doch schon an der Farbgebung, das irgendwas mit deinem Stringinhalt nicht stimmen kann. Wäre alles gut, wird der komplette String in rot dargestellt - das ist bei dir nicht der Fall! Und nun lies nochmal, was ich geschrieben habe...

                Falsch:
                PHP-Code:
                'Die ist ein String  ' und der endete grade eben am Hochkomma
                Richtig:
                PHP-Code:
                "Die ist ein String  ' und ein Escaping war nicht nötig" 
                PHP-Code:
                'Die ist ein String  \' und das Hochkomma ist escaped' 

                edit:
                Zitat von Trainmaster Beitrag anzeigen
                Aus eigener Erfahrung empfehle ich, Javascript auszulagern.

                PHP-Code:
                echo '<script src="skript.js" type="text/javascript"></script>'
                Das ist Rumdoktorei an den Symptomen - wenn der TE nicht versteht, wann man escapen muss (und WARUM), bringen ihm solche Tipps nur den Effekt, das er beim nächsten mal wieder da steht und nicht kapiert, was ihm die Fehlermeldung sagen will. Nichtsdestotrotz ist das, was du sagst richtig, verfehlt aber das Thema
                Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                Kommentar


                • #9
                  Und wie würde die Lösung des Problems deiner Meinung nach aussehen?

                  Kommentar


                  • #10
                    Die Lösung deines Problems wäre, den String korrekt zu formulieren!

                    Lies bitte die Grundlagen und VERSTEHE, was du da tust. Alles andere hat garantiert keine Zukunft.
                    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                    Kommentar


                    • #11
                      Tut mir leid ich verstehe nicht ganz was falsch ist!

                      Das echo, oder was anderes?

                      Kommentar


                      • #12
                        Also noch ausfuehrlicher als lstegelitz es in #8 erklaert hat geht es wohl kaum

                        Kommentar


                        • #13
                          OK ... ich gebs auf!

                          Aber mit auslagern hats funktioniert!

                          Ich bin wohl zu begriffsstützig!

                          Kommentar


                          • #14
                            Dein String beginnt mit '<script und endet am nächsten einfachen Hochkomma, also bei Editor('
                            Wenn das einfache Hochkomma bei 'editor1 den String nicht beenden soll, dann muss man es durch ein vorgestelltes \ entschärfen.

                            PHP-Code:

                            <?php
                                 
                            echo '<script type="text/javascript">
                                   var editor1 = new WYSIWYG_Editor(\'editor1\');
                                   editor1.display();
                                  </script>'
                            ;
                            ?>
                            Das sind aber nun wirklich Grundlagen der Stringverarbeitung, Erste Stunde, Erste Aufgabe.
                            [PHP]if ($var != 0) {
                            $var = 0;
                            }[/PHP]

                            Kommentar


                            • #15
                              unglaublich...

                              Ist doch wohl logisch das php bei echo 'hallo ' welt '; nicht weiss von wo bis wo denn nun dein string gehen soll, sind ja schliesslich 3 anfuehrungszeichen drin

                              Kommentar

                              Lädt...
                              X