如何从Mediawiki中的输入字符串中删除某些字母?

时间:2016-01-07 21:44:02

标签: replace mediawiki mediawiki-templates

我创建了一个新的Wiki条目,它使用名为filter的Wiki模板。这是它的外观:

{{filter
|ListofFruits= 
* Apple
* Orange
* Banana
}}

现在我想在我的过滤器模板中检索列表,但没有*且没有换行符。因此,模板必须输出所有这些结果:

Apple Orange Banana

如何做到这一点?我搜查了纪录片,但没有找到任何关于过滤参数的信息。

1 个答案:

答案 0 :(得分:0)

除非你真的,否则真的需要模板的输入采用那种格式(例如,因为它是由你无法控制的机器人填充的),考虑使用更加解析友好的格式,例如:

{{filter
  |ListofFruits=Apple;Orange;Banana
}}

然后您可以使用替换或Arrays extension更高级的可能性来格式化列表,如您所愿。

使用替换:

<!-- Create a bullet list -->
*{{#replace:{{{ListofFruits}}}|;|<nowiki />
* 
}}

<!-- Create a space separated list -->
{{#replace:{{{ListofFruits}}}|;|&nbsp;}}

使用数组:

<!-- Define array a -->
{{#arraydefine:a|{{{ListofFruits}}}|;}}

<!-- Print a as bullet list -->
{{#arrayprint:a ||@@@@|<nowiki />
*@@@@ }}

<!-- Print a as space separated list -->
{{#arrayprint:a|&nbsp;}}