Ankündigung

Einklappen
Keine Ankündigung bisher.

Zeilenumbrüche entfernen

Einklappen

Neue Werbung 2019

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

  • Zeilenumbrüche entfernen

    Hallo Leute,

    also das gehört wohl eindeutig ins Anfängerforum. Ich hab einen String in PHP der HTML Code enthält und später in eine JS variable geschrieben soll, einfach um den Text via innerHtml später einzublenden.

    Nun ist der HTML Code in meiner PHP Variable in mehrere Zeilen unterteilt, damit das ganze übersichtlicher ist. Das Problem ist nun das wenn ich den String an JS übergeben will, sich JS beschwert weil es keine Strings in mehreren Zeilen mag. Ich muss also meinen String so konvertieren das er in nur einer Zeile ausgegeben wird. Wie stelle ich das an? Habs schon mit str_replace \n versucht und mit str_replace
    von (nl2br($...)) aber das hilft leider alles nicht.

    Sorry für die blöde Frage.

    Gruß
    CyCap


  • #2
    Ahhh Lösung selber gefunden. Blöder Fehler... Windows-System xD

    Linux: \n
    Windows: \r\n
    MacOS: \r

    also machen wir doch einfach

    ereg_replace("(\r\n|\n|\r)", "", $co);

    und alles wird gut

    Kommentar


    • #3
      ereg_* ist deprecated, das heißt wird in zukünftigen PHP Versionen nicht mehr unterstützt.

      PHP-Code:
      <?php
      $co 
      preg_replace('#[\r\n]#s'''$co);
      ?>

      Kommentar


      • #4
        Also wenn du
        PHP-Code:
        <?php
        function cleanString$str$tobr=
        {
           if( 
        $tobr 
           {
                   
        $str    =  nl2br($str); 
           }
           
        $str            =  preg_replace('/(\\n|\\r|\\r\\n)/','',$str));
           return 
        $str;
        }
        ?>
        über diese Variable laufen lässt, kann ich mir nicht vorstellen, dass es an den
        Steuerzeichen liegt, die den Text im Quelltext umbrechen und damit dafür sorgen,
        dass es Probleme mit JS gibt.

        **eijeijei, viel zu langsam ***

        Grüße
        Tine

        Kommentar


        • #5
          Muss es \\n heißen? Ich bin gerade nicht sicher ob ein regulärer Ausdruck die Zeichenkette \n oder
          (den Zeilenumbruch an sich) als Zeilenumbruch erkennt.

          Kommentar


          • #6
            Frage doch nun nicht so komplizierte Dinge Zergling.

            Das war das erste, was mir in den Kopf gekommen ist, vielmehr etwas aus meiner Sammlung, die ich ständig erweitere und verbessere, um bei Bedarf etwas zu haben,
            was hin und wieder nützlich ist. Ich denke mal jeder hat so etwas für mehr oder weniger
            große Probleme. Oben ist auch ein ")" zu viel drin.

            Irgendetwas werde ich mir dabei gedacht haben.
            Jetzt so du mich so fragst sollte \n doch reichen, hmmm wie komme ich denn auf \\n?

            Kommentar


            • #7
              Das kommt darauf an:
              ALSO: Entscheidend ist, ob das x Flag gesetzt ist, also der PCRE_EXTENDED Modus. Zweites Merkmal ist der verwendete Stringbegrenzer.
              Innerhalb von " " wird \n und \r vorher umgesetzt und die Zeichen werden mit x Flag genau wie ein Leerzeichen (im Gegensatz zu \s oder \040) ignoriert, also nicht ersetzt. Hier ist \\n und \\r zu verwenden, um den Backslash zu escapen und für den regulären Ausdruck einen non-printing character zu erhalten.

              Innerhalb einfacher Hochkommata, wird der Backslash nicht ausgewertet, stört allerdings auch nicht, da der Backslash im regulären Audruck erst mit \\ dargestellt wird. Unabhängig vom PCRE_EXTENDED Mode hat man hier immer Erfolg.
              --

              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


              --

              Kommentar


              • #8
                Interessant das einen die Moderatoren hier schon in den OffToipic führen *g*

                Ich hab zwar nur die hälfte von dem verstanden was ihr geschrieben habt, aber hauptsache es funktioniert

                Herzlichen Dank.

                Gruß
                CyCap

                Kommentar


                • #9
                  Öhm.... warum verwendet Ihr nicht einfach str_replace()?
                  Einmal mit "\n" und einmal mit "\r".
                  **********************************
                  Nein, ich bin nicht die Signatur.
                  Ich putze hier nur.
                  **********************************

                  Kommentar


                  • #10
                    Zitat von Der_Gerhard
                    Öhm.... warum verwendet Ihr nicht einfach str_replace()?
                    Einmal mit "\n" und einmal mit "\r".
                    Wald...lauter Bäume...Dings...

                    Kommentar


                    • #11
                      Eine ganz nette Möglichkeit ist auch ein


                      Code:
                      ltrim($String,"\x10..\x13");
                      oder

                      Code:
                      rtrim($String,"\x10..\x13");
                      das Zeilenumbrüche an Anfang oder Ende entfernt. Wahlweise funktioniert das auch mit trim().
                      Viele Grüße,
                      Dr.E.

                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                      1. Think about software design before you start to write code!
                      2. Discuss and review it together with experts!
                      3. Choose good tools (-> Adventure PHP Framework (APF))!
                      4. Write clean and reusable software only!
                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

                      Kommentar

                      Lädt...
                      X