【问题标题】:Twig, output escaping and syntax highlighting JS pluginsTwig,输出转义和语法高亮 JS 插件
【发布时间】:2014-02-20 07:55:07
【问题描述】:

我正在努力解决以下问题:我想在我的页面上包含一些代码示例。他们大多是php,但也有htmljs

我最好的选择是使用一些基于 js 的语法荧光笔。我选择SyntaxHighlighter,因为很多人在 SO 和其他网站上推荐这个。

但是 twig 中的输出转义怎么办?当然,默认转义会导致代码完美地转义,但这不能正常工作。使用|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 已经存在多年了,可能其他人已经解决了这个问题,并且做得很好,安全。

我正在寻找以下四件事之一:

  1. 自定义树枝过滤器来处理此问题,或
  2. 更好的语法着色脚本,可以处理由 Twig 转义的输出,或者
  3. 其他一些解决方案,或者
  4. 任何有用的提示。

【问题讨论】:

  • {% verbatim %} 标签,也许这就是你要找的(?)twig.sensiolabs.org/doc/tags/verbatim.html
  • 是和不是。请参阅我的变量内容示例 (text-code-text-code) - 只有代码应该被转义。 jnunez 提供了有趣的答案,我会试一试。

标签: php jquery symfony twig syntax-highlighting


【解决方案1】:

看看这本手册:

http://isometriks.com/geshi-symfony2-and-twig-extensions

它对我有用。

【讨论】:

  • 看起来很有希望!我回家后试试看。谢谢!
  • 过了一会儿,我开始工作了。我必须解决的问题是弄清楚没有包含 CSS,所以我必须自己编写。不管怎样,谢谢! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-05
  • 1970-01-01
  • 2014-07-13
  • 1970-01-01
  • 1970-01-01
  • 2018-12-01
  • 1970-01-01
相关资源
最近更新 更多