homer: Umbruchzeichen in String anzeigen lassen

Hallo,

ich lasse mir eine CSV Datei ausgeben mit

echo file_get_contents($csvDatei);

In der Ausgabe würde ich gerne sehen, wo Umbrüche vorhanden sind. Wie kann ich mir in der Ausgabe die Zeichen für die Umbrüche anzeigen lassen?

Beispiel Wunschausgabe:

"Das ist mein Text aus der CSV Datei \n und ab hier wird umgebrochen"

Gruß
Homer

  1. Tach!

    Wie kann ich mir in der Ausgabe die Zeichen für die Umbrüche anzeigen lassen?

    Umbrüche sind unsichtbare Zeichen. Ersetze sie durch sichtbare. Für Debug-Zwecke kannst du urlencode() missbrauchen.

    dedlfix.

    1. Hi,

      vielen Dank schon mal. Im String wird jetzt bei einem Umbruch (oder auch ein Zeilenende?)

      %0D%0A

      angezeigt. Wenn ich die CSV in Notepad++ öffne und mir alle nicht druckbaren Zeichen anzeigen lasse, wird

      CRLF

      angezeigt. Mein Ziel ist es diese Umbrüche zu suchen und zu entfernen. Ich hatte eigentlich gedacht ich muss nach \n oder \r\n suchen, aber das klappt nicht. Muss ich also nach %0D%0A oder CRLF suchen?

      Gruß
      homer

      1. Tach!

        Wenn ich die CSV in Notepad++ öffne und mir alle nicht druckbaren Zeichen anzeigen lasse, wird CRLF angezeigt. Mein Ziel ist es diese Umbrüche zu suchen und zu entfernen. Ich hatte eigentlich gedacht ich muss nach \n oder \r\n suchen, aber das klappt nicht. Muss ich also nach %0D%0A oder CRLF suchen?

        Du musst nur die Optionen des Suchen-und-Ersetzen-Dialoges von Notepad++ sorgfältiger lesen.

        dedlfix.

        1. Achso, ne ich wollte das mit PHP machen.

          gruß
          homer

          1. Tach!

            Achso, ne ich wollte das mit PHP machen.

            Dann nimm str_replace() und \r und \n. Diese Sequenzen werden allerdings nur in ""-Strings erkannt.

            dedlfix.

            1. Hi,

              das hatte ich ja schon probiert, funktioniert aber nicht. Deswegen frage ich mich jetzt, nach welchen Zeichen ich suchen muss oder warum das mit \r oder \n nicht funktioniert.

              Gruß
              Homer

              1. Tach!

                das hatte ich ja schon probiert, funktioniert aber nicht. Deswegen frage ich mich jetzt, nach welchen Zeichen ich suchen muss oder warum das mit \r oder \n nicht funktioniert.

                Das liegt sicherlich an deinem Code. Den kenn ich nicht. Wenn man das richtig macht, geht das problemlos.

                $foo = "bar\rqux\nbaz";  
                echo str_replace("\r", '\r', str_replace("\n", '\n', $foo));
                

                oder auch:

                echo strtr($foo, array("\r" => '\r', "\n" => '\n'));  
                
                

                dedlfix.