@@ -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 | } |