League\CommonMark\Inline\Parser\CloseBracketParser::tryParseReference PHP Метод

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

protected tryParseReference ( Cursor $cursor, ReferenceMap $referenceMap, Delimiter $opener, integer $startPos ) : Reference | null
$cursor League\CommonMark\Cursor
$referenceMap League\CommonMark\Reference\ReferenceMap
$opener League\CommonMark\Delimiter\Delimiter
$startPos integer
Результат League\CommonMark\Reference\Reference | null
    protected function tryParseReference(Cursor $cursor, ReferenceMap $referenceMap, Delimiter $opener, $startPos)
    {
        $savePos = $cursor->saveState();
        $beforeLabel = $cursor->getPosition();
        $n = LinkParserHelper::parseLinkLabel($cursor);
        if ($n === 0 || $n === 2) {
            // Empty or missing second label
            $reflabel = mb_substr($cursor->getLine(), $opener->getIndex(), $startPos - $opener->getIndex(), 'utf-8');
        } else {
            $reflabel = mb_substr($cursor->getLine(), $beforeLabel + 1, $n - 2, 'utf-8');
        }
        if ($n === 0) {
            // If shortcut reference link, rewind before spaces we skipped
            $cursor->restoreState($savePos);
        }
        return $referenceMap->getReference($reflabel);
    }