None of the other answers worked for me. Using fgets()
function already resulted trimmed data in the buffer variable and made pointless to call any replace.
I have found the working solution here: https://stackoverflow.com/a/46342634/5356216
Code:
$handle = fopen($filepath, "r");
if ($handle === false) {
//throw new someException('fopen error');
}
$rowNumber = 1;
while (($data = fgetcsv($handle, 0, ',', '"', "\0")) !== false) {
yield $rowNumber => $data;
$rowNumber++;
}
fclose($handle);
Data:
"id";"lastadded";"lastupdated";"aaa01";"aaa02";"aaa03";"status";"type";"aaa04";"aaa05";"aaa06";"aaa07";"aaa08";"aaa09";"aaa10";"printingallowed"
092916474;"2015-09-15 12:04:39.777";"2015-09-15 12:04:39.777";"";"";"Aaa vom 15.09.2015 11:43:57: Fusce non lectus sed sem varius sodales.";"";"Aaa_link";750265913;;"";"";"2015-09-15 12:04:39.777";;"Aaa vom 15.09.2015: Ut a urna eget mi maximus fringilla.";t
923789309;"2020-06-15 16:23:11.529";"2020-06-15 16:23:11.529";"";"";"Sehr geehrte xxxx yyyy,
In posuere elit eu orci malesuada fringilla. Vestibulum a massa ac libero vehicula rutrum. Donec tincidunt felis libero, non maximus libero laoreet ut?
Vivamus sed sem eu lacus consequat facilisis. Aenean nulla arcu, consectetur ut fringilla et, pharetra in purus.
Nam felis ante, \""win-win-Situation\"" volutpat non est at, tincidunt rhoncus libero.
Morbi dapibus erat rhoncus, fermentum metus id, mattis elit.
Etiam accumsan placerat arcu, et venenatis risus dignissim quis.
mit freundlichen Grüßen
Wxxxxx Wyyyyy
Zzzzzzzzzzzz
";"";"WwwAaa";750265913;;"";"";"2020-06-15 16:23:11.53";;"";t
With the "\0" the code results 2 records as it is expected.
Array
(
[0] => 092916474
[1] => 2015-09-15 12:04:39.777
[2] => 2015-09-15 12:04:39.777
[3] =>
[4] =>
[5] => Aaa vom 15.09.2015 11:43:57: Fusce non lectus sed sem varius sodales.
[6] =>
[7] => Aaa_link
[8] => 750265913
[9] =>
[10] =>
[11] =>
[12] => 2015-09-15 12:04:39.777
[13] =>
[14] => Aaa vom 15.09.2015: Ut a urna eget mi maximus fringilla.
[15] => t
)
Array
(
[0] => 923789309
[1] => 2020-06-15 16:23:11.529
[2] => 2020-06-15 16:23:11.529
[3] =>
[4] =>
[5] => Sehr geehrte xxxx yyyy,
In posuere elit eu orci malesuada fringilla. Vestibulum a massa ac libero vehicula rutrum. Donec tincidunt felis libero, non maximus libero laoreet ut?
Vivamus sed sem eu lacus consequat facilisis. Aenean nulla arcu, consectetur ut fringilla et, pharetra in purus.
Nam felis ante, \"win-win-Situation\" volutpat non est at, tincidunt rhoncus libero.
Morbi dapibus erat rhoncus, fermentum metus id, mattis elit.
Etiam accumsan placerat arcu, et venenatis risus dignissim quis.
mit freundlichen Grüßen
Wxxxxx Wyyyyy
Zzzzzzzzzzzz
[6] =>
[7] => WwwAaa
[8] => 750265913
[9] =>
[10] =>
[11] =>
[12] => 2020-06-15 16:23:11.53
[13] =>
[14] =>
[15] => t
)
Without it it results 9 records:
Array
(
[0] => 092916474
[1] => 2015-09-15 12:04:39.777
[2] => 2015-09-15 12:04:39.777
[3] =>
[4] =>
[5] => Aaa vom 15.09.2015 11:43:57: Fusce non lectus sed sem varius sodales.
[6] =>
[7] => Aaa_link
[8] => 750265913
[9] =>
[10] =>
[11] =>
[12] => 2015-09-15 12:04:39.777
[13] =>
[14] => Aaa vom 15.09.2015: Ut a urna eget mi maximus fringilla.
[15] => t
)
Array
(
[0] => 923789309
[1] => 2020-06-15 16:23:11.529
[2] => 2020-06-15 16:23:11.529
[3] =>
[4] =>
[5] => Sehr geehrte xxxx yyyy,
In posuere elit eu orci malesuada fringilla. Vestibulum a massa ac libero vehicula rutrum. Donec tincidunt felis libero, non maximus libero laoreet ut?
Vivamus sed sem eu lacus consequat facilisis. Aenean nulla arcu, consectetur ut fringilla et, pharetra in purus.
Nam felis ante, \"win-win-Situation\"" volutpat non est at, tincidunt rhoncus libero.
)
Array
(
[0] => Morbi dapibus erat rhoncus, fermentum metus id, mattis elit.
)
Array
(
[0] => Etiam accumsan placerat arcu, et venenatis risus dignissim quis.
)
Array
(
[0] =>
)
Array
(
[0] => mit freundlichen Grüßen
)
Array
(
[0] => Wxxxxx Wyyyyy
)
Array
(
[0] => Zzzzzzzzzzzz
)
Array
(
[0] => ;";WwwAaa"
[1] => 750265913
[2] =>
[3] =>
[4] =>
[5] => 2020-06-15 16:23:11.53
[6] =>
[7] =>
[8] => t
)