本文整理汇总了PHP中League\CommonMark\Cursor::getFirstNonSpaceCharacter方法的典型用法代码示例。如果您正苦于以下问题:PHP Cursor::getFirstNonSpaceCharacter方法的具体用法?PHP Cursor::getFirstNonSpaceCharacter怎么用?PHP Cursor::getFirstNonSpaceCharacter使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类League\CommonMark\Cursor
的用法示例。
在下文中一共展示了Cursor::getFirstNonSpaceCharacter方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: parse
/**
* @param ContextInterface $context
* @param Cursor $cursor
*
* @return bool
*/
public function parse(ContextInterface $context, Cursor $cursor)
{
if (!in_array($cursor->getFirstNonSpaceCharacter(), IconBlock::getIconBlockTypes()) || $cursor->getCharacter($cursor->getFirstNonSpacePosition() + 1) !== '>') {
return false;
}
$type = $cursor->getFirstNonSpaceCharacter();
$cursor->advanceToFirstNonSpace();
if ($cursor->peek() === '>') {
$cursor->advanceBy(2);
if ($cursor->getCharacter() === ' ') {
$cursor->advance();
}
}
$context->addBlock(new IconBlock($type));
return true;
}
示例2: matchesNextLine
public function matchesNextLine(Cursor $cursor)
{
if (!$cursor->isIndented() && $cursor->getFirstNonSpaceCharacter() === '>') {
$cursor->advanceToFirstNonSpace();
$cursor->advance();
$cursor->advanceBySpaceOrTab();
return true;
}
return false;
}
示例3: matchesNextLine
public function matchesNextLine(Cursor $cursor)
{
if ($cursor->getIndent() <= 3 && $cursor->getFirstNonSpaceCharacter() === '>') {
$cursor->advanceToFirstNonSpace();
$cursor->advance();
if ($cursor->getCharacter() === ' ') {
$cursor->advance();
}
return true;
}
return false;
}
示例4: parse
/**
* @param ContextInterface $context
* @param Cursor $cursor
*
* @return bool
*/
public function parse(ContextInterface $context, Cursor $cursor)
{
if ($cursor->getFirstNonSpaceCharacter() !== '>') {
return false;
}
$cursor->advanceToFirstNonSpace();
$cursor->advance();
if ($cursor->getCharacter() === ' ') {
$cursor->advance();
}
$context->addBlock(new BlockQuote());
return true;
}
示例5: matchesNextLine
public function matchesNextLine(Cursor $cursor)
{
if ($cursor->getIndent() <= 3 && in_array($cursor->getFirstNonSpaceCharacter(), static::getIconBlockTypes())) {
$cursor->advanceToFirstNonSpace();
if ($cursor->peek() === '>') {
$cursor->advanceBy(2);
if ($cursor->getCharacter() === ' ') {
$cursor->advance();
}
return true;
}
}
return false;
}
示例6: parse
/**
* @param ContextInterface $context
* @param Cursor $cursor
*
* @return bool
*/
public function parse(ContextInterface $context, Cursor $cursor)
{
if ($cursor->getFirstNonSpaceCharacter() !== 'A' || $cursor->getCharacter($cursor->getFirstNonSpacePosition() + 1) !== '>') {
return false;
}
$cursor->advanceToFirstNonSpace();
if ($cursor->peek() === '>') {
$cursor->advanceBy(2);
if ($cursor->getCharacter() === ' ') {
$cursor->advance();
}
}
$context->addBlock(new Aside());
return true;
}
示例7: parse
/**
* @param ContextInterface $context
* @param Cursor $cursor
*
* @return bool
*/
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;
}
示例8: handleRemainingContents
/**
* @param ContextInterface $context
* @param Cursor $cursor
*/
public function handleRemainingContents(ContextInterface $context, Cursor $cursor)
{
/** @var FencedCode $container */
$container = $context->getContainer();
// check for closing code fence
if ($cursor->getIndent() <= 3 && $cursor->getFirstNonSpaceCharacter() == $container->getChar()) {
$match = RegexHelper::matchAll('/^(?:`{3,}|~{3,})(?= *$)/', $cursor->getLine(), $cursor->getFirstNonSpacePosition());
if (strlen($match[0]) >= $container->getLength()) {
// don't add closing fence to container; instead, close it:
$this->setLength(-1);
// -1 means we've passed closer
return;
}
}
$context->getTip()->addLine($cursor->getRemainder());
}