Cod*_*rer 6 string wiki mediawiki templates
最近我遇到的一种比较有趣的"编程语言"是MediaWiki模板.你可以用他们给你的有限语法做一些令人惊讶的事情,但是最近我遇到了一个让我困惑的问题:在模板参数上使用字符串函数.我想做的(有点简化)是:
{{myTemp|a=1,2,3,4}}
Run Code Online (Sandbox Code Playgroud)
然后写一个可以做某种神奇的模板
You told me _a_ starts with {{#split:{{{a}}}, ",", 0}}
Run Code Online (Sandbox Code Playgroud)
目前,我可以使用嵌入式javascript,捕获正则表达式匹配和document.write,但a)它是巨大的,b)它是hacky,并且c)如果有人关闭javascript它会破坏.(注意,"split"只是一个例子;连接,capture-regexp匹配等等,会更好)
我意识到正确的解决方案是让调用者使用单独的参数调用模板,但出于各种原因,在我的特定情况下会很难.如果这是根本不可能的,我想这就是答案,但如果有是一些方法有模板做字符串操作在后端,那简直太好了.
连接很容易.分派x = y concat z
{{#vardefine:x|{{{y}}}{{{z}}}}}
Run Code Online (Sandbox Code Playgroud)
而且,为了增加Mark的答案,还有RegexParserFunctions
Ceterum censeo:MediaWiki永远不会没有hacky.
归档时间: |
|
查看次数: |
1670 次 |
最近记录: |