mirror of
https://github.com/parsecsv/parsecsv-for-php.git
synced 2026-02-19 08:36:39 +00:00
corrected regex to fit all given enclosures. Added test for single enclosure
This commit is contained in:
@@ -556,7 +556,7 @@ class Csv {
|
|||||||
|
|
||||||
$this->_detect_and_remove_sep_row_from_data($data);
|
$this->_detect_and_remove_sep_row_from_data($data);
|
||||||
|
|
||||||
$pattern = sprintf('/("[^%s]*")|[^%s]*/i', $this->enclosure, $this->enclosure);
|
$pattern = sprintf('/(%1$s[^%1$s]*%1$s)/i', $this->enclosure);
|
||||||
preg_match_all($pattern, $data, $matches);
|
preg_match_all($pattern, $data, $matches);
|
||||||
|
|
||||||
foreach ($matches[0] as $match) {
|
foreach ($matches[0] as $match) {
|
||||||
|
|||||||
@@ -63,4 +63,14 @@ class DataRowCountTest extends TestCase {
|
|||||||
$this->csv->load_data($sInput);
|
$this->csv->load_data($sInput);
|
||||||
$this->assertEquals(3, $this->csv->getTotalDataRowCount());
|
$this->assertEquals(3, $this->csv->getTotalDataRowCount());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function testGetTotalRowCountSingleEnclosure() {
|
||||||
|
$this->csv->heading = false;
|
||||||
|
$this->csv->enclosure = "'";
|
||||||
|
$sInput = "86545235689,a\r\n34365587654,b\r\n13469874576,\'c\r\nd\'";
|
||||||
|
$this->csv->load_data($sInput);
|
||||||
|
$this->assertEquals(3, $this->csv->getTotalDataRowCount());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user