Шаблон:РазделитьИСоединить

Материал из Энциклопедия МИФИ

Энциклопедия МИФИ > РазделитьИСоединить
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
м
Строка 1: Строка 1:
-
<includeonly>{{#vardefine:DEV|(;{{!}},{{!}}<br>{{!}}<br\/>{{!}}<br \/>)}}{{#if:{{{5|}}}|{{#vardefine:DEV|{{{5|}}}}}}}{{ #vardefine:STR|{{{1|}}}}}{{ #vardefine:NEWSTR|}}{{ #vardefine:REGEX|/(.*?){{#var:DEV}}(.*)/i}}{{#while:|{{#regex:{{#var:STR}}|/{{#var:DEV}}/i}}|{{ #vardefine:PART|{{#regex:{{#var:STR}}|{{#var:REGEX}}|$1}}}}{{ #vardefine:STR|{{#regex:{{#var:STR}}|{{#var:REGEX}}|$3}}}}{{ #vardefine:NEWSTR|{{#var:NEWSTR}}{{{2|}}}{{#var:PART}}{{{3|}}}{{{4|}}}}}}}{{#vardefine:NEWSTR|{{#var:NEWSTR}}{{{2|}}}{{#var:STR}}{{{3|}}}}}{{#var:NEWSTR}}</includeonly><noinclude>{{doc}}</noinclude>
+
<includeonly>{{#if:1|
 +
{{#vardefine:РазделитьИСоединить.DEV|(;{{!}},{{!}}<br>{{!}}<br\/>{{!}}<br \/>)}}
 +
{{#if:{{{5|}}}
 +
|{{#vardefine:РазделитьИСоединить.DEV|{{{5|}}} }} }}
 +
{{ #vardefine:РазделитьИСоединить.STR|{{{1|}}}}}
 +
{{ #vardefine:РазделитьИСоединить.NEWSTR|}}
 +
{{ #vardefine:РазделитьИСоединить.REGEX|/(.*?){{#var:РазделитьИСоединить.DEV}}(.*)/i}}
 +
{{#while:
 +
|{{#regex:{{#var:РазделитьИСоединить.STR}}|/{{#var:РазделитьИСоединить.DEV}}/i}}
 +
|{{ #vardefine:РазделитьИСоединить.PART|{{#regex:{{#var:РазделитьИСоединить.STR}}|{{#var:РазделитьИСоединить.REGEX}}|$1}}}}
 +
{{ #vardefine:РазделитьИСоединить.STR|{{#regex:{{#var:РазделитьИСоединить.STR}}|{{#var:РазделитьИСоединить.REGEX}}|$3}}}}
 +
{{ #vardefine:РазделитьИСоединить.NEWSTR|{{#var:РазделитьИСоединить.NEWSTR}}{{СтрокаВШаблон|{{{2|}}}{{#var:РазделитьИСоединить.PART}}{{{3|}}}{{{4|}}}}} }}}}
 +
{{ #vardefine:РазделитьИСоединить.NEWSTR|{{#var:РазделитьИСоединить.NEWSTR}}{{СтрокаВШаблон|{{{2|}}}{{#var:РазделитьИСоединить.STR}}{{{3|}}}}}}}
 +
{{#var:РазделитьИСоединить.NEWSTR}}
 +
}}</includeonly><noinclude>{{doc}}</noinclude>

Версия 12:43, 29 августа 2009

Документация Документация

На входе:

1. Array
строка, содержащая массив элементов через некоторый разделитель
2. Префикс
Часть строки, которую надо вставить до каждого элемента
3. Постфикс
Часть строки, которую надо вставить после каждого элемента
4. Соединитель - часть строки, которая вставляется между элементами
5. Опционально - Обработать результирующие элементы как строку: Да/Нет. По-умолчанию - Нет.
6. Опционально. Нестандартный разделитель (регулярное выражение), который необходимо использовать вместо стандартных. Обязательно со скобками вокруг выражения. К примеру: (-).

Вызов:

Вводим: {{РазделитьИСоединить| 8(123)456-67-90,7(233)439-23-90 | {{((}}Телефон{{!}} | {{))}} |и|Да}}
Получаем: 8 (123) 456-67-90и7 (233) 439-23-90
Вводим: {{РазделитьИСоединить|8(123)456-67-90,7(233)439-23-90|{{((}}Телефон{{!}}|{{))}}|:|Да|(xxx)}}
Получаем: 8 (123) 456-67-90:7 (233) 439-23-90
Вводим: {{РазделитьИСоединить|8(123)456-67-90<br>7(233)439-23-90|{{((}}Телефон{{!}}|{{))}}| |Да}}
Получаем: 8 (123) 456-67-907 (233) 439-23-90
Вводим: {{РазделитьИСоединить|8(123)456-67-90<br />7(233)439-23-90|{{((}}Телефон{{!}}|{{))}}| |Да}}
Получаем: 8 (123) 456-67-907 (233) 439-23-90
Вводим: {{РазделитьИСоединить|8(123)456-67-90<BR/>7(233)439-23-90|{{((}}Телефон{{!}}|{{))}}| |Да}}
Получаем: 8 (123) 456-67-907 (233) 439-23-90
Вводим: {{РазделитьИСоединить|8(123)456-67-90,7(233)439-23-90; 058-2789<br>88-90367|{{((}}Телефон{{!}}|{{))}}|<br/>|Да}}
Получаем: 8 (123) 456-67-90
7 (233) 439-23-90
058-27-89
889-03-67
Вводим: {{РазделитьИСоединить|Иванов Иван Иванович,Петров Петр Петрович; Сергей Сергеевич<br> Семен Семеныч Васильев (старший)|{{((}}Сотрудник{{!}}|{{))}}|<br/>|Да}}
Получаем: Иванов И. И.

Петров П. П.
Сергей С.
Семен С. В.

Вводим: {{РазделитьИСоединить|Иванов Иван Иванович,Петров Петр Петрович; Сергей Сергеевич<br> Семен Семеныч Васильев (старший)|Не надо шаблона! |:)|<br/>}}
Получаем: Не надо шаблона! Иванов Иван Иванович:)
Не надо шаблона! Петров Петр Петрович:)
Не надо шаблона! Сергей Сергеевич:)
Не надо шаблона! Семен Семеныч Васильев (старший):)
Помощь