Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] zeilenumbrüche entfernen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] zeilenumbrüche entfernen

    Hallo,

    es geht eigentlich um ein recht "einfaches" Thema.

    Ich habe ein Fckeditor (textarea) Feld, welches mir einen String übergibt.
    Nachdem der Editor aber Zeilenumbrüche in \r\n umwandelt, bekomme ich diese einfach nicht weg.

    Habe schon str_replace, trim und preg_replace versucht, nichts hilft.
    Der Codeschnipsel sieht so aus:

    PHP-Code:
    $msg preg_replace('#\r|\n#'''$text);
    $msg strip_tags($msg);
    $msg html_entity_decode($msg);
    $msg iconv("ISO-8859-1"/* or ISO-8859-2 */,"UTF-8",$msg); 
    Wenn man nun $msg ausgibt steht wiederrum sowas da:
    Hallo\r\nZeilenumbruch\r\n!\r\n!

    Kann mir bitte einer sagen wieso?

    MfG und vielen Dnak schonmal

  • #2
    Ich würde es so probieren:
    PHP-Code:
    $msg preg_replace("#[\r|\n]#"''$text); 
    EDIT:
    Ich glaube, das war falsch.
    Eher so:
    PHP-Code:
    $msg preg_replace("#(\r|\n)#"''$text); 
    bzw. so:
    PHP-Code:
    $msg preg_replace("#[\r\n]#"''$text); 
    Aber ich glaube eher, dass du den Zeilenumbruch nicht löschen, sondern durch ein Leerzeichen ersetzen möchtest. Oder?

    Kommentar


    • #3
      Warum willst du die Zeilenumbrüche überhaupt rauslöschen? Die haben deine User doch mit Absicht dort hingesetzt?
      [PHP]if ($var != 0) {
      $var = 0;
      }[/PHP]

      Kommentar


      • #4
        ne geht nicht, sie sind immer noch da.

        ne ich will sie schon ganz weg haben, wenn möglich

        Weildas ganze dann an Fb geht und dort sieht das blöd aus.

        Kommentar


        • #5
          Kann ich mir nicht vorstellen, dass nichts davon funktioniert. Hast du sicher die doppelten Anführungszeichen im regulären Ausdruck?

          Kommentar


          • #6
            Alternativ könntest du sonst einen Umweg über nl2br machen und dann das <br /> ersetzen, könnte auch "schneller" sein als das preg

            Kommentar


            • #7
              PHP-Code:
              echo "Rohtext: ".$text."    Ende<br>";
              $msg preg_replace("#[\r\n]#"''$text);  
              echo 
              "Schritt1: ".$msg."      Ende<br>";
              $msg strip_tags($msg);
              echo 
              "Schritt2: ".$msg."    Ende<br>";
              $msg nl2br($text);
              echo 
              "Schritt3: ".$msg."   <br>"
              so siehts jetzt aus.

              Als Ausgabe kommt:
              Code:
              Rohtext:
              
              Ja
              \r\n
              
              Nein
              Ende
              Schritt1:
              
              Ja
              \r\n
              
              Nein
              Ende
              Schritt2: Ja\r\nNein Ende
              Schritt3:
              
              Ja
              \r\n
              
              Nein

              Kommentar


              • #8
                Wieso performant und einfach wenns auch mit Regex geht?

                PHP-Code:
                $msg str_replace(array("\r\n""\r""\n"), ''$msg); 
                Der Backslash muss in Regex übrigens mit einem zweiten escaped werden.
                Programming today is a race between developers striving to build better idiot-proof programs, and the universe trying to produce better idiots. So far, the universe is winning.

                Kommentar


                • #9
                  Zitat von bitsnack Beitrag anzeigen
                  Der Backslash muss in Regex übrigens mit einem zweiten escaped werden.
                  Genau das wars.....

                  Kommentar

                  Lädt...
                  X