League\CommonMark\Block\Parser\HtmlBlockParser::parse PHP Method

parse() public method

public parse ( League\CommonMark\ContextInterface $context, Cursor $cursor ) : boolean
$context League\CommonMark\ContextInterface
$cursor League\CommonMark\Cursor
return boolean
    public function parse(ContextInterface $context, Cursor $cursor)
    {
        if ($cursor->isIndented()) {
            return false;
        }
        if ($cursor->getFirstNonSpaceCharacter() !== '<') {
            return false;
        }
        $savedState = $cursor->saveState();
        $cursor->advanceToFirstNonSpace();
        $line = $cursor->getRemainder();
        for ($blockType = 1; $blockType <= 7; $blockType++) {
            $match = RegexHelper::matchAt(RegexHelper::getHtmlBlockOpenRegex($blockType), $line);
            if ($match !== null && ($blockType < 7 || !$context->getContainer() instanceof Paragraph)) {
                $cursor->restoreState($savedState);
                $context->addBlock(new HtmlBlock($blockType));
                $context->setBlocksParsed(true);
                return true;
            }
        }
        $cursor->restoreState($savedState);
        return false;
    }
HtmlBlockParser