2016-01-07 5 views
0

Я создал новую запись Wiki, в которой используется шаблон Wiki с именем filter. Вот как это выглядит:Как удалить определенные буквы из строки ввода в Mediawiki?

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

Теперь я хочу, чтобы получить список в моем шаблоне фильтра, но без * и без LineBreak. В результате шаблон должен вывести все эти фрукты следующим образом:

Apple Orange Banana 

Как это можно сделать? Я искал документальные фильмы, но ничего не нашел о параметрах фильтрации.

+0

Вы хотите шаблон для разбора строки '* Apple \ п * Orange ...', и выход 'Apple Orange ...'? – leo

+0

@leo Да, но \ n не записано в параметре. Я уже пробовал это, используя {{#replace: {{{ListofFruits}}} | \ n * |}}, но это не сработало. –

+0

И использование более удобного формата для шаблона, например. '{{filter | fruits = Apple; Orange; Banana}}' не вариант? – leo

ответ

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;}}