Server IP : 66.29.132.124 / Your IP : 3.14.131.115 Web Server : LiteSpeed System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : wavevlvu ( 1524) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/wavevlvu/book24.ng/vendor/league/commonmark/src/Extension/Footnote/Parser/ |
Upload File : |
<?php /* * This file is part of the league/commonmark package. * * (c) Colin O'Dell <colinodell@gmail.com> * (c) Rezo Zero / Ambroise Maupate * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ declare(strict_types=1); namespace League\CommonMark\Extension\Footnote\Parser; use League\CommonMark\Block\Parser\BlockParserInterface; use League\CommonMark\ContextInterface; use League\CommonMark\Cursor; use League\CommonMark\Extension\Footnote\Node\Footnote; use League\CommonMark\Reference\Reference; use League\CommonMark\Util\RegexHelper; final class FootnoteParser implements BlockParserInterface { public function parse(ContextInterface $context, Cursor $cursor): bool { if ($cursor->isIndented()) { return false; } $match = RegexHelper::matchFirst( '/^\[\^([^\n^\]]+)\]\:\s/', $cursor->getLine(), $cursor->getNextNonSpacePosition() ); if (!$match) { return false; } $cursor->advanceToNextNonSpaceOrTab(); $cursor->advanceBy(\strlen($match[0])); $str = $cursor->getRemainder(); \preg_replace('/^\[\^([^\n^\]]+)\]\:\s/', '', $str); if (\preg_match('/^\[\^([^\n^\]]+)\]\:\s/', $match[0], $matches) > 0) { $context->addBlock($this->createFootnote($matches[1])); $context->setBlocksParsed(true); return true; } return false; } private function createFootnote(string $label): Footnote { return new Footnote( new Reference($label, $label, $label) ); } }