From 4e76da5effca82a6b6eebe7eaeace50fe29d49dc Mon Sep 17 00:00:00 2001 From: zynode Date: Mon, 31 Mar 2008 20:55:33 +0000 Subject: [PATCH] minor fix to a bug which caused notice errors to be generated when _enclose_value() was fed a zero character long string git-svn-id: http://parsecsv-for-php.googlecode.com/svn/trunk@20 339761fc-0c37-0410-822d-8b8cac1f6a97 --- parsecsv.lib.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/parsecsv.lib.php b/parsecsv.lib.php index ebde217..6e9f19c 100644 --- a/parsecsv.lib.php +++ b/parsecsv.lib.php @@ -4,7 +4,7 @@ class parseCSV { /* - Class: parseCSV v0.3.1 + Class: parseCSV v0.3.2 beta http://code.google.com/p/parsecsv-for-php/ @@ -601,11 +601,13 @@ class parseCSV { * @return Processed value */ function _enclose_value ($value = null) { - $delimiter = preg_quote($this->delimiter, '/'); - $enclosure = preg_quote($this->enclosure, '/'); - if ( preg_match("/".$delimiter."|".$enclosure."|\n|\r/i", $value) || ($value{0} == ' ' || substr($value, -1) == ' ') ) { - $value = str_replace($this->enclosure, $this->enclosure.$this->enclosure, $value); - $value = $this->enclosure.$value.$this->enclosure; + if ( $value !== null && $value != '' ) { + $delimiter = preg_quote($this->delimiter, '/'); + $enclosure = preg_quote($this->enclosure, '/'); + if ( preg_match("/".$delimiter."|".$enclosure."|\n|\r/i", $value) || ($value{0} == ' ' || substr($value, -1) == ' ') ) { + $value = str_replace($this->enclosure, $this->enclosure.$this->enclosure, $value); + $value = $this->enclosure.$value.$this->enclosure; + } } return $value; }