Linuchs: Javascript: Problem bei `;` im CSV-Feld

Beitrag lesen

Ich noch mal.

Das Erzeugen eines CSV-String mit mehreren Textzeile per PHP funktioniert:

$out = fopen('php://temp', 'r+b');
foreach ( $csv_arr as $zeile ) {
  // fputcsv($fp, $input, $delimiter, $enclosure);
  fputcsv( $out, $zeile, ';', '"' );
}
rewind($out);
$csv_string = rtrim(stream_get_contents($out), "\n");
fclose($out);

PHP erkennt auch,wenn der Feldtrenner im Text vorkommt und schließt den Text ein mit "

...;"Georg;";Hohmann;...

String wird zum Browser geschickt, Javascript muss diese Zeile (row) wieder auseinandernehmen:

var row = rows[i].split(";");
for (let i=0; i<row.length; i++ ) {
  // einschliessende " pro Wert entfernen
  if ( row[i][0] == '"' ) row[i] = row[i].substring(1, row[i].length-1 );
  // doppelte "" werden zu einfachen "
  row[i]  = row[i].replace( /\"\"/g,          '"' );
}

Das funktioniert so nicht. Wie kann ich JS beibringen, das Zeichen ; innerhalb " nicht als Feld-Trenner zu betrachten?

Linuchs