Ich versuche, eine CSV-Datei mit Zeilenumbrüche innerhalb eines Beschreibungsfelds zu verarbeiten. Wenn Sie jedoch str_getcsv verwenden, um die Zeilen in ein Array aufzuteilen, wird auch auf die Zeilenumbrüche innerhalb des Gehäuses aufgeteilt. Beispiel:str_getcsv Gehäuse funktioniert nicht mit Zeilenumbrüchen
$data ='header1,header2
value1,"value2a
values2b"';
$data = str_getcsv($data, PHP_EOL, '"');
var_export($data);
Ausgang:
array (
0 => 'header1,header2',
1 => 'value1,"value2a',
2 => 'value2b"',
)
Erwartungswert:
array (
0 => 'header1,header2',
1 => 'value1,"value2a
value2b"',
)
PHP-Version ist 5.6.19 (cli)
Ich sehe kein erwartetes Trennzeichen für Ihre Ausgabe.In Ihrem str_getcsv haben Sie Trennzeichen PHP_EOL gegeben, was bedeutet, dass es bei neuer Zeile explodiert..Wenn Sie "," anstelle von PHP_EOL übergeben, dann können Sie auch nicht das erwartete Ausgabe – pritesh
Gibt es eine andere Möglichkeit, Zeilenumbrüche zu teilen, die nicht in Anführungszeichen stehen? Oder glaubst du, ich werde etwas Regex dafür brauchen? – jjmirks