Esempio n. 1
0
 /**
  * @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;
 }
Esempio n. 2
0
 /**
  * @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;
 }
Esempio n. 3
0
 /**
  * @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');
     }
 }
Esempio n. 4
0
 /**
  * @param Token $token
  * @return string
  */
 protected function tagName(Token $token)
 {
     return ltrim(rtrim($token->value(), '> '), '</');
 }