Gregwar\RST\Parser::parseTableLine PHP Метод

parseTableLine() защищенный Метод

====================== ========= =========== 0 23 33 +---------------------+---------+-----------+ 1 23 33
protected parseTableLine ( string $line ) : mixed
$line string
Результат mixed
    protected function parseTableLine($line)
    {
        $header = false;
        $pretty = false;
        $line = trim($line);
        if (!strlen($line)) {
            return false;
        }
        // Finds the table chars
        $chars = $this->findTableChars($line);
        if (!$chars) {
            return false;
        }
        if ($chars[0] == Environment::$prettyTableJoint && $chars[1] == Environment::$prettyTableLetter) {
            $pretty = true;
            $chars = array(Environment::$prettyTableLetter, Environment::$prettyTableJoint);
        } else {
            if ($chars[0] == Environment::$prettyTableJoint && $chars[1] == Environment::$prettyTableHeader) {
                $pretty = true;
                $header = true;
                $chars = array(Environment::$prettyTableHeader, Environment::$prettyTableJoint);
            } else {
                if (!($chars[0] == Environment::$tableLetter && $chars[1] == ' ')) {
                    return false;
                }
            }
        }
        $parts = array();
        $separator = false;
        // Crawl the line to match those chars
        for ($i = 0; $i < strlen($line); $i++) {
            if ($line[$i] == $chars[0]) {
                if (!$separator) {
                    $parts[] = $i;
                    $separator = true;
                }
            } else {
                if ($line[$i] == $chars[1]) {
                    $separator = false;
                } else {
                    return false;
                }
            }
        }
        if (count($parts) > 1) {
            return array($header, $pretty, $parts);
        }
        return false;
    }