Goetas\Twital\EventSubscriber\FixTwigExpressionSubscriber::addPlaceholder PHP Method

addPlaceholder() public method

public addPlaceholder ( SourceEvent $event )
$event Goetas\Twital\EventDispatcher\SourceEvent
    public function addPlaceholder(SourceEvent $event)
    {
        $source = $event->getTemplate();
        $format = $this->placeholderFormat;
        $placeholders = array();
        $source = $this->processTwig($source, function ($twig, $source, $offset) use($format, &$placeholders) {
            $before = $offset > 0 ? $source[$offset - 1] : '';
            $id = '<' === $before || '/' === $before ? $twig : mt_rand();
            $placeholder = sprintf($format, md5($id));
            if (!in_array($before, array(' ', '<', '>', '/'), true)) {
                $placeholder = ' ' . $placeholder;
            }
            $placeholders[$placeholder] = $twig;
            return $placeholder;
        });
        $this->placeholders = $placeholders;
        $event->setTemplate($source);
    }