"Unsichtbares" Umbruchzeichen ausschneiden?

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

  • "Unsichtbares" Umbruchzeichen ausschneiden?

    Hallo!

    Ich lade den Inhalt einer Textdatei und fülle mit preg_match_all ein Array mit Daten aus dieser Textdatei. Dann erstelle ich in einer Schleife ein String, der aus den Datensätzen des Arrays besteht, kommagetrennt. Wenn ich nun mit print den String ausgebe, sieht alles korrekt aus bis auf eine Detail: oft steht nach der Komma ein Leerzeichen, der im Quelltext der erstellten Seite nicht zu finden ist. Etwa so:

    data1,data2,data3, data4,data5, data6...

    Wenn ich nun in die Quellcode der erstellten Seite schaue, gibt es kein Leerzeichen zwischen data3 und data4. Aber die Zeile endet mit data3. Das heisst, PHP trennt die Zeile irgendwie auf mit einem unsichtbaren Zeichen. Etwa so:

    ...
    data1,data2,data3,
    data4,data5,
    data6
    ...


    Wie kriege ich diesen unnötigen Umbruch weg?

    Danke!
    Zuletzt geändert von brazzi; 12.11.2007, 21:03.

  • #2
    Das "unsichtbare" Zeichen ist also offensichtlich ein Zeilenumbruch.

    trim() hilft.

    Siehe auch http://www.php-resource.de/forum/sho...threadid=88208

    Kommentar


    • #3
      Danke für die schnelle Antwort.

      Trim() hat leider nicht geholfen. Jedenfalls ohne zweitem Parameter.

      Hilfe!
      Zuletzt geändert von brazzi; 12.11.2007, 22:00.

      Kommentar


      • #4
        Soll ich vielleicht irgendwelche Parameter für Trim() verwenden?

        Kommentar


        • #5
          1) Guck dir doch mal den String oder die Originaldaten mit nem Hex-Editor an. Um was für ein Zeichen handelt es sich?

          2) Wie hast du trim() angewendet.

          3) Wenn du 1) erledigt hast, kannst du entscheiden, ob der zweite Parameter dein Problem löst.

          Kommentar


          • #6
            Ok. Ich habe den String in einer Datei geschpeichert und in einem Hex-Editor geöffnet. Und tatsächlich, da wo die die Zeile "gebrochen" wird sehe ich im Hex-Editor "0D 0A". Im Text-Teil (auf der rechten Seite) sind es einfach zwei Punkte.

            Was ist das für Zeichen?

            Kommentar


            • #7
              Danke für die Hilfe!

              Mit

              PHP-Code:
              $text preg_replace('/(\015\012)|(\015)|(\012)/','',$text); 
              hat es geklappt!

              Kommentar


              • #8
                0D 0A ist die hexadezimale Darstellung eines Line Feed.
                Nieder mit der Camel Case-Konvention

                Kommentar


                • #9
                  Suchfunktion und google hilft

                  http://www.php-resource.de/forum/showthread/t-352.html
                  http://www.andre-kalisch.de

                  Kommentar

                  Lädt...
                  X