Ankündigung

Einklappen
Keine Ankündigung bisher.

Zeilenumbruch mit "\n"

Einklappen

Neue Werbung 2019

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

  • Gast-Avatar
    Ein Gast erstellte das Thema Zeilenumbruch mit "\n".

    Zeilenumbruch mit "\n"

    Moin Moin!

    Ich habe heute morgen einen Datensatz erstellt, den ich dann in eine CSV Datei abgespeichert habe.
    Am Ende dieses Datensatzes habe ich für einen Zeilenumbruch in der CSV-Datei folgendes angehängt:

    $datensatz.="\n";

    Als ich darauf mein Projekt (Anmeldeformular) ausprobierte, waren alle eingegebenen Daten in einer Zeile (in Excel in einer Zeile aneinander
    gereiht.

    Kann mir jemand helfen, wie ich einen Zeilenumbruch richtig erstelle?

  • nikosch
    antwortet
    \r (carriage return) und \n (new line feed) sind genau wie \t (tab) etc. nicht-druckbare Zeichen des Ascii Satzes. Sie entsprechen also genau einem Zeichen, z.B. hexadezimal 12 für \n, das aber bspw. in php eben nicht in Fließtext darstellbar ist. Deshalb gibt es die Konvention, die genannten Zeichen mit einem führenden Escapezeichen, dem Backslash, als Sonderzeichen zu interpretieren. In php geschieht das innerhalb von doppelten Hochkommata, aber auch z.B. bei Angaben wie dieser:
    PHP-Code:
    <?
    $text = 'ein wort
    und der rest';
    In deinem Falle hast Du aber einfach zwei einzelne Zeichen, eben das \ und das n. Du könntest str_replace () nutzen, um die Strings in echte Sequenzen umzusetzen. Dabei kannst Du Dir eben das unterschiedliche Verhalten für verschiedene Stringbegrenzer zunutze machen
    PHP-Code:
    <?
    $aReplace = array (
                                '\r' => "\r" ,
                                '\n' => "\n" ,
                                '\t' => "\t" 
                                );
    $sText = str_replace (
                                   array_keys ($aReplace) , 
                                   array_values ($aReplace) ,
                                   $sText
                                   );

    Einen Kommentar schreiben:


  • Igäl
    antwortet
    Uralt aber grabe ich mal wieder aus

    Wenn im meinem CSV aber steht:

    Code:
    Dies ist mein Text und dieser Text\r\nhat einen Zeilenumbruch darin.;
    Dies ist ein Text, der in eine andere Spalte soll.\r\nAuch hier hat es einen Zeilenumbruch.;
    Wenn ich das CSV nun als in Excel importiere, steht der Text eins zu eins so im Feld. Die \r\n werden nicht als Zeilenumbruch interpretiert. Was mach ich hier, dass dem so ist?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Ich habe es sofort ausprobiert.

    Es funktioniert. Vielén Dank für diesen Tipp

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    \n funktioniert nur unter Linux oder Unix. In Windows musst du ich glaube \r\n verwenden.

    Einen Kommentar schreiben:

Lädt...
X