1--TEST-- 2Bug #69181 (READ_CSV|DROP_NEW_LINE drops newlines within fields) 3--FILE-- 4<?php 5$filename = __DIR__ . "/bug69181.csv"; 6$csv = <<<CSV 7"foo\n\nbar\nbaz",qux 8 9"foo\nbar\nbaz",qux 10CSV; 11 12file_put_contents($filename, $csv); 13 14$file = new SplFileObject($filename); 15$file->setFlags(SplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE | SplFileObject::READ_CSV); 16var_dump(iterator_to_array($file)); 17 18echo "\n====\n\n"; 19 20$file->rewind(); 21while (($record = $file->fgetcsv())) { 22 var_dump($record); 23} 24?> 25--EXPECT-- 26array(2) { 27 [0]=> 28 array(2) { 29 [0]=> 30 string(12) "foo 31 32bar 33baz" 34 [1]=> 35 string(3) "qux" 36 } 37 [2]=> 38 array(2) { 39 [0]=> 40 string(11) "foo 41bar 42baz" 43 [1]=> 44 string(3) "qux" 45 } 46} 47 48==== 49 50array(2) { 51 [0]=> 52 string(12) "foo 53 54bar 55baz" 56 [1]=> 57 string(3) "qux" 58} 59array(2) { 60 [0]=> 61 string(11) "foo 62bar 63baz" 64 [1]=> 65 string(3) "qux" 66} 67--CLEAN-- 68<?php 69@unlink(__DIR__ . "/bug69181.csv"); 70?> 71