umbruch in varibale erzrugt fehler, warum ?

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

  • umbruch in varibale erzrugt fehler, warum ?

    Hallo Leute,

    ich hab da nen kleines Problem mit einer variablen :-(

    ich hab ne zitat funktion erstellt, die leider nur funktioniert, wenn der text in der variablen $textinhalt keine zeilenumbrüche hat :-(

    wie kann ich das problem umgehen :-(

    PHP-Code:
    print"<script language="JavaScript">";
    print
    "<!--";
    print
    "function zitat() {";
    print
    "document.form1.textfield.value =  '$textinhalt\n' + document.form1.textfield.value;";
    print
    "}";
    print
    "//--></script> print"
    Coder never die, they just GOSUB without RETURN

    Mein System

  • #2
    probier das mal:
    PHP-Code:
    print 'document.form1.textfield.value =  "'.$textinhalt.'\n" + document.form1.textfield.value;'
    Kissolino.com

    Kommentar


    • #3
      okay.erst in anführungszeichen setzen.wäre klasse, wenn es so leicht ist...
      denn sonst funkioniert das zitieren ja einwandfrei..... nur bei inhalt mit umbruch wird der javascriptfehler angezeigt....
      Coder never die, they just GOSUB without RETURN

      Mein System

      Kommentar


      • #4
        Re: umbruch in varibale erzrugt fehler, warum ?

        Original geschrieben von ways
        ich hab ne zitat funktion erstellt, die leider nur funktioniert, wenn der text in der variablen $textinhalt keine zeilenumbrüche hat :-(
        dir sollte klar sein, dass strings in javascript nicht über mehrere zeilen gehen dürfen - du musst den string in der zeile beenden, in der du ihn angefangen hast.

        wenn du im javascript-string zeilenumbrüche brauchst, dann müssen diese als \n im javascript-code stehen. PHP-seigit müsstest du also dafür sorgen, dass \n durch \\n ersetzt wird.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          eigentlich hab ich ja kein /n im variableninhalt.... der text kommt mit umbruch aus der datenbank..... :-(
          Coder never die, they just GOSUB without RETURN

          Mein System

          Kommentar


          • #6
            eben drum probierst du es mal mit dem einfachen anführungszeichen,
            darin werden \n nicht ausgeführt bei der ausgabe ... ansonsten hilft nur
            noch str_replace()
            PHP-Code:
            echo 'string \n mit \n umbruch';
            echo 
            "string \n mit \n umbruch"
            ^^einfach mal laufen lassen
            Kissolino.com

            Kommentar


            • #7
              ja okay.werd ich gleich probieren... muss fürs internet nämlich immer zur schwester rüber (300m)und hab das file vergessen :-(
              Coder never die, they just GOSUB without RETURN

              Mein System

              Kommentar


              • #8
                Original geschrieben von Wurzel
                eben drum probierst du es mal mit dem einfachen anführungszeichen,
                darin werden \n nicht ausgeführt bei der ausgabe ...
                das ist auch falsch, denn er schreibt ja nicht den string im code hin, sondern holt ihn wie gesagt aus der datenbank.
                und da sind dann nun mal schon die umbrüche drin, und werden auch ausgegeben.
                \n durch \\n ersetzen ist m.E. der einzig praktikable weg, denn er muss dafür sorgen, dass in seinem erzeugt JS-code der string in einer zeile steht, und die zeilenumbrüche dort dann als text \n stehen.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  ja, das mit der einen zeile wegen javascript ist schon nen fluch :-)

                  ich werde einfach mal nen \\n vor die variable setzen und schauen, ob sie einen umbruch erzeugt.....

                  das zitat will ich eh so einfügen lassen und brauche daher auch umbrüche vorher und nacher :-)

                  ----------------------------------zitat-------------------------------------
                  $row[textinhalt]
                  -----------------------------------------------------------------------------
                  Coder never die, they just GOSUB without RETURN

                  Mein System

                  Kommentar


                  • #10
                    Original geschrieben von wahsaga
                    ... sondern holt ihn wie gesagt aus der datenbank.
                    an der stelle hast du recht ...

                    @ways
                    so sollte es gehen:
                    PHP-Code:
                    echo '--- bla ---\n'.str_replace("\n""\\\\n"$row[0]).'\n--- bla ---'
                    Kissolino.com

                    Kommentar


                    • #11
                      find ich unbeschreiblich klasse , dass ich hier gleich nen codeschnipsel serviert bekomme *freu* mit str_replace hab ich nämlich noch ned gearbeitet .bin ja nen frischling
                      Coder never die, they just GOSUB without RETURN

                      Mein System

                      Kommentar


                      • #12
                        schwein gehabt ...
                        Kissolino.com

                        Kommentar


                        • #13
                          ja glück muss nen frischling haben :-)

                          war schon echt verzweifelt..... ich hab gemerkt dass es am javascript mit der einen zeile liegt, aber ned wie ich das lösen kann.. und wenn ich ehrlich bin, hab ich sicher 6-7 std daran getestet..... *schäm*
                          Coder never die, they just GOSUB without RETURN

                          Mein System

                          Kommentar


                          • #14
                            Fortsetzung von umbruch in javascript anpassen

                            EDIT:
                            verdammt, wieso kommen die leute immer wieder auf die blöde idee, für die fortsetzung der diskussion zum selben thema einen neuen thread aufmachen zu müssen?
                            *zusammenführ*
                            wahsaga



                            Hi Leute,

                            ich hab vorhin von wurzel den tip bekommen, dieses Problem mit dem umbruch durch str_replace zu lösen....
                            leider klappt das nicht richtig..... wenn ich es anwende entsteht dennoch der javascript fehler :-(


                            $row[message] kommt direkt aus der datenbank und gibt den inhalt im Browser so aus :

                            <!-- Browser Quellcode ansicht start-->
                            hallo Empfänger,
                            <br />

                            <br />
                            alles klar bei dir ?
                            <!-- Browser Quellcode ansicht ende -->

                            also dachte ich mir, dass ich diesen Code wie vorgeschlagen verwende :

                            PHP-Code:

                            $messagetext 
                            '\\nZitat----------------------\\n'.str_replace("<br />","\\n"$row[message]).'\\n--------------';

                            print 
                            "
                            <script language=\"JavaScript\">
                            <!--
                            function zitat() {
                            document.formularname.textfield.value = '
                            $messagetext' + document.formularname.textfield.value;
                            }
                            //-->
                            </script>
                            "

                            echo "<a href=\"#\" onClick=\"add_incoming();return false;\">Zitieren</a>";
                            ?>

                            jedoch funktioniert das mit dem <br /> nicht....auch wenn ich \n erstezem lasse geht es nicht.... aber ich seh den fehler nicht....#
                            das str_replace funktioniert aber.... habs mit dem wort "hallo" in dieser nachricht getestet...läßt sich korrekt ersetzen.

                            im Browser-Quellcode sieht das Javascript dann so aus :
                            <script language="JavaScript">
                            <!--
                            function zitat() {

                            document.formularname.textfield.value = '\nZitat----------------------\nhallo Empfänger,
                            \n
                            \nalles klar bei dir ?:-D\n--------------' + document.formularname.textfield.value;
                            }
                            //-->
                            </script>

                            der fehler ist also wegen der mehrzeiligen schreibweise....ich frage mich jedoch, warum nach dem Komma in der nachricht umgebrochen wird. (<br /> ? )...
                            Zuletzt geändert von wahsaga; 23.04.2004, 12:06.
                            Coder never die, they just GOSUB without RETURN

                            Mein System

                            Kommentar


                            • #15
                              Re: Fortsetzung von umbruch in javascript anpassen

                              Original geschrieben von ways
                              $row[message] kommt direkt aus der datenbank und gibt den inhalt im Browser so aus :

                              <!-- Browser Quellcode ansicht start-->
                              hallo Empfänger,
                              <br />

                              <br />
                              alles klar bei dir ?
                              <!-- Browser Quellcode ansicht ende -->
                              das heisst doch wohl, dass da zusätzlich zu den <br /> auch noch zeilenumbrüche drin sind.
                              also musst du diese auch noch entfernen ...
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X