我正在努力解决以下问题:我想在我的网页上添加一些代码示例。它们大多是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已经存在多年了,可能其他人已经解决了这个问题,并且做得很好,安全。
我正在寻找四件事之一: