Baba: Zeilenumbruch innerhalb .csv Feldern

Beitrag lesen

Ich plane, eine Zeile mit PHP explode('","',trim($zeile,'"')) in die Felder zu zerlegen. Problem: Texareas enthalten selbst Zeilenumbrüche, sodass eine Zeile aus der .csv Datei nicht unbedingt bis zum Ende der Daten geht.

Der explode Teil ist ok. Das worauf es ankommt verstehe ich nicht ganz. Du meinst die CSV könnte so aussehen.

Dreizeilige CSV:

"Spalte1","Spalte2","Spalte3"
"some content","ich bin ein text input content","ich bin ein textarea
content mit Zeilenumbruch"
"bla","bli","blub"

Wie löse ich das Problem?

Ähm, gar nicht? Der Inhalt der Textarea hätte statt des Steuerzeichens für den Zeilenumbruch besser eine Representation dessen enthalten. Wenn Du das nicht ändern kannst, gehts IMHO nicht.

Hier die Begründung: Du müsstest Dir einen Parser schreiben, der zunächst mal gar nicht die Zeilen auflöst (wie zum Beispiel file()) sondern musst die Datei in einen String lesen (ohne Zeilenumbrüche). Dann müsstest Du die Anzahl der Spalten kennen und diese auflösen. Entweder anhand der " was nicht funktioniert, da auch der Zelleninhalt " enthalten kann, oder nach "," was nicht geht, da dieses nicht zwischen der letzten Spalte und der ersten SPalte der nächsten Zeile steht.

Ich hoffe das war einigermaßen klar. Und meine Grundannahme stimmt überhaupt :)

Cheers,
Baba