我有以下情况:
- 我们在服务器端使用web2py
- 我们正在提供一些ember.js页面
- 目前这些 ember.js 页面位于 iframe 中,因为ember.js 和 web2py 与模板 {{ }} 标记冲突。这意味着我们不能轻易混合 web2py 模板和 ember.js 模板。
- 所以我实现了辅助类解决方案:
class em(DIV)
- 现在我想处理原始的带有 ember 标记的 html 文件,并生成带有em 标记的文件,将 ember.js 和 web2py 模板系统集成到一个有凝聚力的单元中。
为此,我需要将{{XXX}}
ember.js 文件中的所有实例更改为 {{=em('XXX')}},包括跨越多行的实例。我正在考虑在这里使用正则表达式,但我想避免重新发明轮子(并且不得不处理奇怪的极端情况)
你能想到python中解析这类模板的通用方法吗?只需查找开始和结束分隔符 ( {{
and }}
),然后放置=em('XXX')
,处理换行符并保持格式(即,如果有换行符,则保留换行符)。
注意:这实际上不是 ember.js 特定的;它可以应用于任何基于多行分隔符的模板系统。