KnpMarkdownBundle/Twig/Extension/MarkdownTwigExtension.php
2021-11-05 12:50:12 -04:00

35 lines
782 B
PHP

<?php
namespace Knp\Bundle\MarkdownBundle\Twig\Extension;
use Knp\Bundle\MarkdownBundle\Parser\ParserManager;
use Twig\Extension\AbstractExtension;
use Twig\TwigFilter;
class MarkdownTwigExtension extends AbstractExtension
{
private $parserManager;
public function __construct(ParserManager $parserManager)
{
$this->parserManager = $parserManager;
}
public function getFilters(): array
{
return array(
new TwigFilter('markdown', array($this, 'markdown'), array('is_safe' => array('html'))),
);
}
public function markdown($text, $parser = null): string
{
return $this->parserManager->transform($text, $parser);
}
public function getName(): string
{
return 'markdown';
}
}