Я борюсь со следующей проблемой: я хочу включить некоторые примеры кода на свою страницу. Они в основном php
, но также html
и js
.
Мой лучший вариант - использовать некоторые синтаксические выделения на основе js. Я выбираю SyntaxHighlighter, потому что многие люди рекомендуют это на SO и других сайтах.
Но как насчет выхода в прут? Конечно, побег по умолчанию приводит к тому, что код демонстрирует превосходное экранирование, но это не работает должным образом. Использование |raw
для выполнения этой работы приводит к другой - очевидной проблеме: она разбивает страницу, если представлен html, или разбивает скрипты, если представлен javascript.
Другая проблема заключается в том, что все выходные данные, которые мне нужны, являются смешанными, например:
(some text, with html formatting)
<code class="someclass">
(block of code)
</code>
(some another text)
<code class="anotherclass">
(another block of code)
</code>
Имея все эти факты, я подумал - пусть напишет наш собственный фильтр для Twig! Это звучит здорово, но даже если бы я смог заставить его работать, я не мог бы работать так, как хочу.
Они подумали: зачем мне изобретать велосипед? Twig и Symfony2 уже много лет, возможно, кто-то еще решил эту проблему, и сделал это хорошо, безопасно.
Я ищу одну из четырех вещей:
Посмотрите на это руководство:
http://isometriks.com/geshi-symfony2-and-twig-extensions
Это сработало для меня.
{% verbatim %}
, может быть, это то, что вы ищете (?) Twig.sensiolabs.org/doc/tags/verbatim.html