@@ -18,19 +18,19 @@ |
||
18 | 18 | |
19 | 19 | class SniffHeaderByDataType extends AbstractSniffer |
20 | 20 | { |
21 | - /** |
|
22 | - * Guess whether there is a header row |
|
23 | - * |
|
24 | - * Guesses whether the data has a header row by comparing the data types of the first row with the types of |
|
25 | - * corresponding columns in other rows. |
|
26 | - * |
|
27 | - * @note Unlike the original version of this method, this one will be used to ALSO determine HOW MANY header rows |
|
28 | - * there likely are. So, compare the header to rows at the END of the sample. |
|
29 | - * |
|
30 | - * @param string $data The data to analyze |
|
31 | - * |
|
32 | - * @return bool |
|
33 | - */ |
|
21 | + /** |
|
22 | + * Guess whether there is a header row |
|
23 | + * |
|
24 | + * Guesses whether the data has a header row by comparing the data types of the first row with the types of |
|
25 | + * corresponding columns in other rows. |
|
26 | + * |
|
27 | + * @note Unlike the original version of this method, this one will be used to ALSO determine HOW MANY header rows |
|
28 | + * there likely are. So, compare the header to rows at the END of the sample. |
|
29 | + * |
|
30 | + * @param string $data The data to analyze |
|
31 | + * |
|
32 | + * @return bool |
|
33 | + */ |
|
34 | 34 | public function sniff($data) |
35 | 35 | { |
36 | 36 | $delimiter = $this->getOption('delimiter'); |
@@ -40,7 +40,7 @@ |
||
40 | 40 | return s($this->replaceQuotedSpecialChars($line, $delimiter)); |
41 | 41 | }); |
42 | 42 | $header = collect($lines->shift()->split($delimiter)) |
43 | - ->map(function($val){ return $this->unQuote($val); }) |
|
43 | + ->map(function($val) { return $this->unQuote($val); }) |
|
44 | 44 | ->map(function($val) { |
45 | 45 | return [ |
46 | 46 | 'type' => $this->getType($val), |
@@ -159,7 +159,7 @@ |
||
159 | 159 | $d = $this->getDialect(); |
160 | 160 | $fields = collect(s($line) |
161 | 161 | ->trimRight($d->getLineTerminator()) |
162 | - ->split($d->getDelimiter() . "(?=([^\"]*\"[^\"]*\")*[^\"]*$)")); |
|
162 | + ->split($d->getDelimiter()."(?=([^\"]*\"[^\"]*\")*[^\"]*$)")); |
|
163 | 163 | if (!is_null($this->header)) { |
164 | 164 | // @todo there may be cases where this gives a false positive... |
165 | 165 | if (count($fields) == count($this->header)) { |
@@ -120,7 +120,7 @@ |
||
120 | 120 | $field = s($field); |
121 | 121 | if ($field->contains($d->getQuoteChar())) { |
122 | 122 | $escapeChar = $d->isDoubleQuote() ? $d->getQuoteChar() : '\\' /*$d->getEscapeChar()*/; |
123 | - $field = $field->replace($d->getQuoteChar(), $d->getQuoteChar() . $d->getQuoteChar()); |
|
123 | + $field = $field->replace($d->getQuoteChar(), $d->getQuoteChar().$d->getQuoteChar()); |
|
124 | 124 | } |
125 | 125 | $field = $field->surround($d->getQuoteChar()); |
126 | 126 | } |