From a695bee4ef45c64a308fe991b76f80361720b127 Mon Sep 17 00:00:00 2001 From: Xavier Noguer Gallego Date: Sat, 19 Nov 2005 13:35:14 +0000 Subject: [PATCH] submitting to CS because of being asked nicely git-svn-id: https://svn.php.net/repository/pear/packages/Spreadsheet_Excel_Writer/trunk@200858 c90b9560-bf6c-de11-be94-00142212c4b1 --- Writer/Parser.php | 55 ++++++++++++++++++++--------------------------- 1 file changed, 23 insertions(+), 32 deletions(-) diff --git a/Writer/Parser.php b/Writer/Parser.php index d8fb1e6..a873034 100644 --- a/Writer/Parser.php +++ b/Writer/Parser.php @@ -538,61 +538,52 @@ class Spreadsheet_Excel_Writer_Parser extends PEAR */ function _convert($token) { - if (preg_match("/^\"[^\"]{0,255}\"$/", $token)) - { + if (preg_match("/^\"[^\"]{0,255}\"$/", $token)) { return $this->_convertString($token); - } - elseif (is_numeric($token)) - { + + } elseif (is_numeric($token)) { return $this->_convertNumber($token); - } + // match references like A1 or $A$1 - elseif (preg_match('/^\$?([A-Ia-i]?[A-Za-z])\$?(\d+)$/',$token)) - { + } elseif (preg_match('/^\$?([A-Ia-i]?[A-Za-z])\$?(\d+)$/',$token)) { return $this->_convertRef2d($token); - } + // match external references like Sheet1!A1 or Sheet1:Sheet2!A1 - elseif (preg_match("/^\w+(\:\w+)?\![A-Ia-i]?[A-Za-z](\d+)$/u",$token)) - { + } elseif (preg_match("/^\w+(\:\w+)?\![A-Ia-i]?[A-Za-z](\d+)$/u",$token)) { return $this->_convertRef3d($token); - } + // match external references like 'Sheet1'!A1 or 'Sheet1:Sheet2'!A1 - elseif (preg_match("/^'[\w -]+(\:[\w -]+)?'\![A-Ia-i]?[A-Za-z](\d+)$/u",$token)) - { + } elseif (preg_match("/^'[\w -]+(\:[\w -]+)?'\![A-Ia-i]?[A-Za-z](\d+)$/u",$token)) { return $this->_convertRef3d($token); - } + // match ranges like A1:B2 - elseif (preg_match("/^(\$)?[A-Ia-i]?[A-Za-z](\$)?(\d+)\:(\$)?[A-Ia-i]?[A-Za-z](\$)?(\d+)$/",$token)) - { + } elseif (preg_match("/^(\$)?[A-Ia-i]?[A-Za-z](\$)?(\d+)\:(\$)?[A-Ia-i]?[A-Za-z](\$)?(\d+)$/",$token)) { return $this->_convertRange2d($token); - } + // match ranges like A1..B2 - elseif (preg_match("/^(\$)?[A-Ia-i]?[A-Za-z](\$)?(\d+)\.\.(\$)?[A-Ia-i]?[A-Za-z](\$)?(\d+)$/",$token)) - { + } elseif (preg_match("/^(\$)?[A-Ia-i]?[A-Za-z](\$)?(\d+)\.\.(\$)?[A-Ia-i]?[A-Za-z](\$)?(\d+)$/",$token)) { return $this->_convertRange2d($token); - } + // match external ranges like Sheet1!A1 or Sheet1:Sheet2!A1:B2 - elseif (preg_match("/^\w+(\:\w+)?\!([A-Ia-i]?[A-Za-z])?(\d+)\:([A-Ia-i]?[A-Za-z])?(\d+)$/u",$token)) - { + } elseif (preg_match("/^\w+(\:\w+)?\!([A-Ia-i]?[A-Za-z])?(\d+)\:([A-Ia-i]?[A-Za-z])?(\d+)$/u",$token)) { return $this->_convertRange3d($token); - } + // match external ranges like 'Sheet1'!A1 or 'Sheet1:Sheet2'!A1:B2 - elseif (preg_match("/^'[\w -]+(\:[\w -]+)?'\!([A-Ia-i]?[A-Za-z])?(\d+)\:([A-Ia-i]?[A-Za-z])?(\d+)$/u",$token)) - { + } elseif (preg_match("/^'[\w -]+(\:[\w -]+)?'\!([A-Ia-i]?[A-Za-z])?(\d+)\:([A-Ia-i]?[A-Za-z])?(\d+)$/u",$token)) { return $this->_convertRange3d($token); - } - elseif (isset($this->ptg[$token])) // operators (including parentheses) - { + + // operators (including parentheses) + } elseif (isset($this->ptg[$token])) { return pack("C", $this->ptg[$token]); - } + // commented so argument number can be processed correctly. See toReversePolish(). /*elseif (preg_match("/[A-Z0-9\xc0-\xdc\.]+/",$token)) { return($this->_convertFunction($token,$this->_func_args)); }*/ + // if it's an argument, ignore the token (the argument remains) - elseif ($token == 'arg') - { + } elseif ($token == 'arg') { return ''; } // TODO: use real error codes