isIndented() || ! \in_array($cursor->getNextNonSpaceCharacter(), ['#', '-', '='], true)) { return BlockStart::none(); } $cursor->advanceToNextNonSpaceOrTab(); if ($atxHeading = self::getAtxHeader($cursor)) { return BlockStart::of($atxHeading)->at($cursor); } $setextHeadingLevel = self::getSetextHeadingLevel($cursor); if ($setextHeadingLevel > 0) { $content = $parserState->getParagraphContent(); if ($content !== null) { $cursor->advanceToEnd(); return BlockStart::of(new HeadingParser($setextHeadingLevel, $content)) ->at($cursor) ->replaceActiveBlockParser(); } } return BlockStart::none(); } private static function getAtxHeader(Cursor $cursor): ?HeadingParser { $match = RegexHelper::matchFirst('/^#{1,6}(?:[ \t]+|$)/', $cursor->getRemainder()); if (! $match) { return null; } $cursor->advanceToNextNonSpaceOrTab(); $cursor->advanceBy(\strlen($match[0])); $level = \strlen(\trim($match[0])); $str = $cursor->getRemainder(); $str = \preg_replace('/^[ \t]*#+[ \t]*$/', '', $str); \assert(\is_string($str)); $str = \preg_replace('/[ \t]+#+[ \t]*$/', '', $str); \assert(\is_string($str)); return new HeadingParser($level, $str); } private static function getSetextHeadingLevel(Cursor $cursor): int { $match = RegexHelper::matchFirst('/^(?:=+|-+)[ \t]*$/', $cursor->getRemainder()); if ($match === null) { return 0; } return $match[0][0] === '=' ? 1 : 2; } } __halt_compiler();----SIGNATURE:----GqkBp39gYEW6Pl7o2FxVT9GGASUqJR9SwUMDEZcGK/ogxSDfeb5YvoSvxkZcDviM07RvE7z7BEeRpMYbE8Cn44YlZuTD5fptOzx5w9NW/FDXyvz+gJTiRbQAxmNG/KgOjatyglclsVtvvXmMfWGsoXfC1SP+7ceBpWK7n9yCtlcO9JmTgbNQzr5XXaNZWm4cGxAwIRsXZBBVydmAjcnXS2srtYp+WZ5NtEYgiAJ/zdANtw7ako7yJY3B4Ee3njcbMw4UqwXPWKWzZECrRlAqDSEersYFRnANxy4sfNzLUXtCB5Vn6wIqOi4jaUEALhVSnqYa1wMghG61HT6fwhs4sz0gTbPzgbAvCUuks0i83bioUTbFP+yI8kUp8uQxKG8MzIG+PYvhMA+LXIzI7pi+Xk4ZGqspHNf3yZsG3v7uHWQXoU7tpguTVF5eHUOiWr6hOM0m9yqkWaYpcOfb1vEYwObXa6ij9sw/a8bLMC4VkTWVQet9UgeYS65PDAdOuaIKqy+o7O6TdkK6nzOFn2BijFv75SBL28Q03ni20T8Yk2gzrmwLsrXPBXroYgOM2QRdfA9mFvJLZ1x6kLdcO5cQKkjdTtEQeo4gwI7aS8pK5SG01UF0Oy+XMiR1bAk098slo7MOm+gW4QxfHMdtZWMtzDvbrbnxKHYjpUe4YSoRkj0=----ATTACHMENT:----OTAwOTY4NTUwNjk1ODY5NyA3Mjk0MjgyNzc5MzU5NTQwIDQwMzg1NDU1Nzk5NzU5OTE=