0

我正在寻找一个好的字符对,用于将模板代码包含在我们内部模板引擎的下一个版本的模板中。

当前使用纯 {} 但这使得解析器非常复杂,无法区分模板中文字文本中的真实代码块和随机 {} 字符。

我认为像 asp.net 或 php 中使用的双字符组合是一种更好的方法,但问题是我应该使用 char 字符对还是有一些从未使用过且易于编写的完美单字符。

一些需要满足的标准:

  • 无法通过 HTMLEncode 更改,源将可通过基于 Web 的 HTML 编辑器和纯文本区域进行编辑,并且无论使用什么编辑器都需要保持不变。
  • 正则表达式将用于在 HTML 编辑器中编辑后清理代码部分,该编辑器可能已对代码块的内部部分(如 & 字符)进行了编码。
  • 在英语和瑞典语键盘布局上应该很容易书写。
  • 应该是一个非常罕见的组合,模板将生成 HTML 和文本,并且可能包含带有 JSON 的 CSS 和 Javascript 文字文本,因此任何可能与这些冲突的组合都是不好的,除非非常罕见。这意味着 {{}} 已退出,因为它可能出现在 JSON 中。
  • 代码块中的代码将包含空格、下划线、美元和更多组合,不仅是字段名,还有 if/while 结构。
  • 解析器是用 Antlr 生成的

我正在寻找建议和反对意见,以找到一种或多种可以在尽可能多的情况下工作的组合,可能是针对不同情况的多个替代组合。

4

1 回答 1

2

Template-Toolkit默认为[% template directives %],它工作得相当好。

于 2011-01-27T13:17:28.113 回答