Zeilenumbruch in csv

kesnw

Erfahrenes Mitglied
Hallo,

ich möchte ein eingelesenes Textfeld, welches Zeilenumbrüche enthalten kann, in eine csv-Datei übertragen.

Leider geht das bisher nicht.

PHP:
$datei = fopen("".$_SESSION['abt_sql'].".csv", "w");
fputs($datei, "Anschrift");
fputs($datei, "\n");
while (list($anschrift) = mysql_fetch_row($result))
{
fputs($datei, nl2br($anschrift));
fputs($datei, "\n");
}

Leider kommt hierbei nur Müll reus. Die Ausgabe sieht etwa so aus:

Anschrift | Hauptstr. 87
65760 Eschborn |
| Haidösch 1
88239 Wangen |

Wie kann ich Zeilenumbrüche verarbeiten?
 
Zuletzt bearbeitet:
Hab ich doch drin:

PHP:
fputs($datei, nl2br($anschrift));

Bringt aber nichts. Ich spreche hier vom Import in Excel. Dort spricht der curser bei jedem Zeilenumbruch in ein neues Feld... Wie bekomme ich die Zeilenumbrüche ganz raus?
 
Dein Bester Freund von den 2 vorgestellten Varianten ist immer noch dieser hier:
Code:
$vars = preg_replace("/[\r\n]{1,2}/","",$vars);

In diesem Sinne
 
Klasse, das geht. Allerdings macht er's nur für die ersten 93 Datensätze, dann schreibt er ein <br /> hin... (im Excel)

In der Textdatei springt er an der Stelle in eine neue Zeile...
 
Zuerst nl2br, dann preg_replace.

Das funktioniert nur so.

Wenn du "Enter" im Textarea feld machst, konvertiert PHP 2 Dinge daraus.

Einen virtuellen Zeilenumbruch, sowie einen Physischen. Den Virtuellen Konvertiert PHP mit der Variante nl2br in den richten <br /> Tag um. Den Physischen Umbruch bekommst du nun zu 100% mit preg_replace wet. Egal ob Linux oder Windows. Beide Zeilenumbrüche werden von der von mir angewendeten Methode entfernt.

In diesem Sinne
 
Zurück