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
This commit is contained in:
parent
2d27e61329
commit
a695bee4ef
|
|
@ -538,61 +538,52 @@ class Spreadsheet_Excel_Writer_Parser extends PEAR
|
||||||
*/
|
*/
|
||||||
function _convert($token)
|
function _convert($token)
|
||||||
{
|
{
|
||||||
if (preg_match("/^\"[^\"]{0,255}\"$/", $token))
|
if (preg_match("/^\"[^\"]{0,255}\"$/", $token)) {
|
||||||
{
|
|
||||||
return $this->_convertString($token);
|
return $this->_convertString($token);
|
||||||
}
|
|
||||||
elseif (is_numeric($token))
|
} elseif (is_numeric($token)) {
|
||||||
{
|
|
||||||
return $this->_convertNumber($token);
|
return $this->_convertNumber($token);
|
||||||
}
|
|
||||||
// match references like A1 or $A$1
|
// 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);
|
return $this->_convertRef2d($token);
|
||||||
}
|
|
||||||
// match external references like Sheet1!A1 or Sheet1:Sheet2!A1
|
// 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);
|
return $this->_convertRef3d($token);
|
||||||
}
|
|
||||||
// match external references like 'Sheet1'!A1 or 'Sheet1:Sheet2'!A1
|
// 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);
|
return $this->_convertRef3d($token);
|
||||||
}
|
|
||||||
// match ranges like A1:B2
|
// 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);
|
return $this->_convertRange2d($token);
|
||||||
}
|
|
||||||
// match ranges like A1..B2
|
// 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);
|
return $this->_convertRange2d($token);
|
||||||
}
|
|
||||||
// match external ranges like Sheet1!A1 or Sheet1:Sheet2!A1:B2
|
// 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);
|
return $this->_convertRange3d($token);
|
||||||
}
|
|
||||||
// match external ranges like 'Sheet1'!A1 or 'Sheet1:Sheet2'!A1:B2
|
// 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);
|
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]);
|
return pack("C", $this->ptg[$token]);
|
||||||
}
|
|
||||||
// commented so argument number can be processed correctly. See toReversePolish().
|
// commented so argument number can be processed correctly. See toReversePolish().
|
||||||
/*elseif (preg_match("/[A-Z0-9\xc0-\xdc\.]+/",$token))
|
/*elseif (preg_match("/[A-Z0-9\xc0-\xdc\.]+/",$token))
|
||||||
{
|
{
|
||||||
return($this->_convertFunction($token,$this->_func_args));
|
return($this->_convertFunction($token,$this->_func_args));
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
// if it's an argument, ignore the token (the argument remains)
|
// if it's an argument, ignore the token (the argument remains)
|
||||||
elseif ($token == 'arg')
|
} elseif ($token == 'arg') {
|
||||||
{
|
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
// TODO: use real error codes
|
// TODO: use real error codes
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue