コード例 #1
0
 /**
  * @param \ViKon\Parser\Token     $token
  * @param \ViKon\Parser\TokenList $tokenList
  *
  * @return string
  * @throws \ViKon\Parser\LexerException
  */
 public function renderReference(Token $token, TokenList $tokenList)
 {
     $reference = $token->get('reference');
     $label = $token->get('label');
     if ($reference instanceof Token) {
         $referenceToken = $reference;
     } else {
         if (empty($reference) === '') {
             $reference = strtolower($token->get('label'));
         }
         $tokens = $tokenList->getTokensByCallback(function (Token $token) use($reference) {
             return $token->getName() === ReferenceRule::NAME && $token->get('reference', null) === $reference;
         });
         // Get first token (if not found return full match)
         if (($referenceToken = reset($tokens)) === false) {
             return $token->get('match', '');
         }
         $referenceToken->set('used', true);
     }
     $url = $referenceToken->get('url');
     $title = $referenceToken->get('title', '');
     if (empty($title)) {
         return "<a href=\"{$url}\">{$label}</a>";
     }
     return "<a href=\"{$url}\" title=\"{$title}\">{$label}</a>";
 }
コード例 #2
0
 /**
  * @param \ViKon\Parser\Token     $token
  * @param \ViKon\Parser\TokenList $tokenList
  *
  * @return string
  * @throws \ViKon\Parser\LexerException
  */
 public function renderReference(Token $token, TokenList $tokenList)
 {
     $reference = $token->get('reference');
     $alt = $token->get('alt');
     if ($reference instanceof Token) {
         $referenceToken = $reference;
     } else {
         $tokens = $tokenList->getTokensByCallback(function (Token $token) use($reference) {
             return $token->getName() === ReferenceRule::NAME && $token->get('reference', null) === $reference;
         });
         // Get first token (if not found return full match)
         if (($referenceToken = reset($tokens)) === false) {
             return $token->get('match', '');
         }
         $referenceToken->set('used', true);
     }
     $url = $referenceToken->get('url');
     $title = $referenceToken->get('title', '');
     if (empty($title)) {
         return "<img alt=\"{$alt}\" src=\"{$url}\"/>";
     }
     return "<img alt=\"{$alt}\" src=\"{$url}\" title=\"{$title}\" />";
 }