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;
}