/** * @param Token $token * @param string $type * @param int $position * @return Token */ protected function splitToken(Token $token, $type, $position) { $value = $token->value(); if (strlen($value) > $position) { $offset = $token->offset() + $position; $head = substr($value, 0, $position); $tail = Token::bit($type, substr($value, $position), $offset); $this->putBack($tail); $token->set($type, $head)->set(0, $head); } return $token; }
/** * @param Token $token * @return boolean */ protected function breaksInline(Token $token) { $break = false; if ($token->match('SECTION')) { $this->putBack($token); $break = true; } elseif ($token->match('VSPACE')) { $break = true; } return $break; }
/** * @param Token $token */ protected function transOptDefault(Token $token) { if ($token->match('ATT_SYMBOL') == '}') { $this->switchContext('markdown'); } elseif ($token->match('ATT_QUOTE1')) { $this->switchContext('opt-quoted1'); } elseif ($token->match('ATT_QUOTE2')) { $this->switchContext('opt-quoted2'); } }
/** * @param Token $token * @return string */ protected function tagName(Token $token) { return ltrim(rtrim($token->value(), '> '), '</'); }