Spec-Zone.ru › Twig 2

html_to_markdown

Новое в версии 2.12: Фильтр html_to_markdown был добавлен в Twig 2.12.

Фильтр html_to_markdown преобразует блок HTML в Markdown:

{% apply html_to_markdown %}
    <html>
        <h1>Hello!</h1>
    </html>
{% endapply %}

Вы также можете использовать фильтр для всего шаблона, который вы include:

{{ include('some_template.html.twig')|html_to_markdown }}

Примечание

Фильтр html_to_markdown является частью MarkdownExtension, который не установлен по умолчанию. Установите его сначала:

$ composer require twig/markdown-extra

В проектах Symfony вы можете автоматически включить его, установив twig/extra-bundle:

$ composer require twig/extra-bundle

Или явно добавьте расширение в среду Twig:

use Twig\Extra\Markdown\MarkdownExtension;

$twig = new \Twig\Environment(...);
$twig->addExtension(new MarkdownExtension());

Если вы не используете Symfony, необходимо также зарегистрировать расширение во время выполнения:

use Twig\Extra\Markdown\DefaultMarkdown;
use Twig\Extra\Markdown\MarkdownRuntime;
use Twig\RuntimeLoader\RuntimeLoaderInterface;

$twig->addRuntimeLoader(new class implements RuntimeLoaderInterface {
    public function load($class) {
        if (MarkdownRuntime::class === $class) {
            return new MarkdownRuntime(new DefaultMarkdown());
        }
    }
});

html_to_markdown — это всего лишь фронтенд; фактическое преобразование выполняется одной из совместимых библиотек, из которых вы можете выбрать:

  • [erusev/parsedown](https://github.com/erusev/parsedown)
  • [thephpleague/html-to-markdown](https://github.com/thephpleague/html-to-markdown)
  • [michelf/php-markdown](https://github.com/michelf/php-markdown)

В зависимости от библиотеки, вы также можете добавить некоторые параметры, передав их в качестве аргумента фильтру. Пример для league/html-to-markdown:

{% apply html_to_markdown({hard_break: false}) %}
    <html>
        <h1>Hello!</h1>
    </html>
{% endapply %}
« format_time | inline_css »

© 2009–2018 by the Twig Team
Licensed under the three clause BSD license.
The Twig logo is © 2010–2020 Symfony
https://twig.symfony.com/doc/2.x/filters/html_to_markdown.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API