Steffen: CSV Datei erstellen - Zeilenumbruch im Textfeld

Beitrag lesen

Hi,

Wenn der Feldbegrenzer selbst in den Daten enthalten ist, wird dieser im Datenfeld verdoppelt (siehe Maskierungszeichen).
... Du brauchst nur das " zu maskieren.

Nein, dae reicht nicht. Wenn du Feldbegrenzer in den Daten hast, und diese maskieren musst, muss auch das Feld begrenzt werden. Ohne begrenztes Feld hat man keine Feldbegrenzer-Zeichen, die mit den Feldbegrenzern kollidieren könnten. Anders gesagt: der Feldbegrenzer schaltet in den Modus "das hier ist ein Feld", bis der Feldbegrenzer ein weiteres Mal auftaucht. Damit dieser Modus nicht verlassen wird, muss der Feldbegrenzer innerhalb der Daten durch Verdopplung maskiert sein.

Das habe ich irgendwie vorausgesetzt.

IIRC machen die PHP-Funktionen da einen Blödsinn.

Glaub ich nicht, nachdem ich dir gerade deinen Denkfehler aufzuzeigen versuchte. Aber wenn du immer noch der Meinung bist, dann sag mal bitte konkreter, was du da als Fehler ansieht.

Ich habe bei

  
array str_getcsv ( string $input [, string $delimiter = ',' [, string $enclosure = '"' [, string $escape = '\\' ]]] )  

aufgehört zu lesen und habe mir selber etwas geschrieben.
Was soll der $escape sein?
Scheinbar funktioniert die Funktion doch so, wie ich es erwarten würde, aber was soll das $escape sein?

MfG

  • Steffen