!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/uploads/script/vendor/league/commonmark/src/Extension/Mention/   drwxr-xr-x
Free 13.26 GB of 57.97 GB (22.88%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     MentionParser.php (2.83 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/*
 * This file is part of the league/commonmark package.
 *
 * (c) Colin O'Dell <colinodell@gmail.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace League\CommonMark\Extension\Mention;

use 
League\CommonMark\Extension\Mention\Generator\CallbackGenerator;
use 
League\CommonMark\Extension\Mention\Generator\MentionGeneratorInterface;
use 
League\CommonMark\Extension\Mention\Generator\StringTemplateLinkGenerator;
use 
League\CommonMark\Inline\Parser\InlineParserInterface;
use 
League\CommonMark\InlineParserContext;

final class 
MentionParser implements InlineParserInterface
{
    
/** @var string */
    
private $symbol;

    
/** @var string */
    
private $mentionRegex;

    
/** @var MentionGeneratorInterface */
    
private $mentionGenerator;

    public function 
__construct(string $symbolstring $mentionRegexMentionGeneratorInterface $mentionGenerator)
    {
        
$this->symbol $symbol;
        
$this->mentionRegex $mentionRegex;
        
$this->mentionGenerator $mentionGenerator;
    }

    public function 
getCharacters(): array
    {
        return [
$this->symbol];
    }

    public function 
parse(InlineParserContext $inlineContext): bool
    
{
        
$cursor $inlineContext->getCursor();

        
// The symbol must not have any other characters immediately prior
        
$previousChar $cursor->peek(-1);
        if (
$previousChar !== null && \preg_match('/\w/'$previousChar)) {
            
// peek() doesn't modify the cursor, so no need to restore state first
            
return false;
        }

        
// Save the cursor state in case we need to rewind and bail
        
$previousState $cursor->saveState();

        
// Advance past the symbol to keep parsing simpler
        
$cursor->advance();

        
// Parse the mention match value
        
$identifier $cursor->match($this->mentionRegex);
        if (
$identifier === null) {
            
// Regex failed to match; this isn't a valid mention
            
$cursor->restoreState($previousState);

            return 
false;
        }

        
$mention $this->mentionGenerator->generateMention(new Mention($this->symbol$identifier));

        if (
$mention === null) {
            
$cursor->restoreState($previousState);

            return 
false;
        }

        
$inlineContext->getContainer()->appendChild($mention);

        return 
true;
    }

    public static function 
createWithStringTemplate(string $symbolstring $mentionRegexstring $urlTemplate): MentionParser
    
{
        return new 
self($symbol$mentionRegex, new StringTemplateLinkGenerator($urlTemplate));
    }

    public static function 
createWithCallback(string $symbolstring $mentionRegex, callable $callback): MentionParser
    
{
        return new 
self($symbol$mentionRegex, new CallbackGenerator($callback));
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0054 ]--