SqlParser\Lexer::parseString PHP Метод

parseString() публичный Метод

Parses a string.
public parseString ( string $quote = '' ) : Token
$quote string Additional starting symbol.
Результат Token
    public function parseString($quote = '')
    {
        $token = $this->str[$this->last];
        if (!($flags = Context::isString($token)) && $token !== $quote) {
            return null;
        }
        $quote = $token;
        while (++$this->last < $this->len) {
            if ($this->last + 1 < $this->len && ($this->str[$this->last] === $quote && $this->str[$this->last + 1] === $quote || $this->str[$this->last] === '\\' && $quote !== '`')) {
                $token .= $this->str[$this->last] . $this->str[++$this->last];
            } else {
                if ($this->str[$this->last] === $quote) {
                    break;
                }
                $token .= $this->str[$this->last];
            }
        }
        if ($this->last >= $this->len || $this->str[$this->last] !== $quote) {
            $this->error(sprintf(__('Ending quote %1$s was expected.'), $quote), '', $this->last);
        } else {
            $token .= $this->str[$this->last];
        }
        return new Token($token, Token::TYPE_STRING, $flags);
    }