Шаблон:РазделитьИСоединить
Материал из Энциклопедия МИФИ
Энциклопедия МИФИ > РазделитьИСоединить
[досмотренная версия] | [досмотренная версия] |
Chameleon (Обсуждение | вклад) м |
Lamen (Обсуждение | вклад) м (Защищена страница «Шаблон:РазделитьИСоединить»: чрезмерный спам ([edit=autoconfirmed] (бессрочно) [move=autoconfirmed] (бессрочно))) |
||
(52 промежуточные версии не показаны) | |||
Строка 1: | Строка 1: | ||
- | <includeonly>{{#vardefine:DEV|(;{{!}},{{!}}<br>{{!}}<br/>{{!}}<br />)}} | + | <includeonly>{{#if:1| |
- | {{#if:{{{ | + | {{#vardefine:РазделитьИСоединить.DEV|(;{{!}},{{!}}<br>{{!}}<br\/>{{!}}<br \/>)}} |
- | {{ #vardefine:STR|{{{1|}}}}} | + | {{#if:{{{6|}}} |
- | {{ #vardefine:NEWSTR|}} | + | |{{#vardefine:РазделитьИСоединить.DEV|{{{6|}}} }} }} |
- | {{#while:{{#regex:{{#var:STR}}|{{#var:DEV}}}} | + | {{ #vardefine:РазделитьИСоединить.STR|{{{1|}}}}} |
- | | | + | {{ #vardefine:РазделитьИСоединить.NEWSTR|}} |
- | {{ #vardefine:PART|{{#regex:{{#var:STR}}| | + | {{ #vardefine:РазделитьИСоединить.REGEX|/(.*?){{#var:РазделитьИСоединить.DEV}}(.*)/i}} |
- | {{ #vardefine:STR|{{#regex:{{#var:STR}}| | + | {{#while: |
- | {{ #vardefine:NEWSTR|{{#var:NEWSTR}}{{{2|}}}{{#var:PART}}{{{3|}}}}} | + | |{{#regex:{{#var:РазделитьИСоединить.STR}}|/{{#var:РазделитьИСоединить.DEV}}/i}} |
+ | |{{ #vardefine:РазделитьИСоединить.PART|{{#regex:{{#var:РазделитьИСоединить.STR}}|{{#var:РазделитьИСоединить.REGEX}}|$1}}}} | ||
+ | {{ #vardefine:РазделитьИСоединить.STR|{{#regex:{{#var:РазделитьИСоединить.STR}}|{{#var:РазделитьИСоединить.REGEX}}|$3}}}} | ||
+ | {{#ifeq:{{{5|}}}|Да | ||
+ | |{{ #vardefine:РазделитьИСоединить.NEWSTR|{{#var:РазделитьИСоединить.NEWSTR}}{{СтрокаВШаблон|{{{2|}}}{{#var:РазделитьИСоединить.PART}}{{{3|}}} }}{{{4|}}} }} | ||
+ | |{{ #vardefine:РазделитьИСоединить.NEWSTR|{{#var:РазделитьИСоединить.NEWSTR}}{{{2|}}}{{#var:РазделитьИСоединить.PART}}{{{3|}}} {{{4|}}} }} | ||
+ | }} | ||
}} | }} | ||
- | {{ #vardefine:NEWSTR|{{#var:NEWSTR}}{{{2|}}}{{#var:STR}}{{{3|}}}}} | + | {{#ifeq:{{{5|}}}|Да |
- | {{#var:NEWSTR}}</includeonly> | + | |{{ #vardefine:РазделитьИСоединить.NEWSTR|{{#var:РазделитьИСоединить.NEWSTR}}{{СтрокаВШаблон|{{{2|}}}{{#var:РазделитьИСоединить.STR}}{{{3|}}} }} }} |
- | <noinclude> | + | |{{ #vardefine:РазделитьИСоединить.NEWSTR|{{#var:РазделитьИСоединить.NEWSTR}}{{{2|}}}{{#var:РазделитьИСоединить.STR}}{{{3|}}} }} |
- | {{doc}} | + | }} |
- | </noinclude> | + | {{#var:РазделитьИСоединить.NEWSTR}} |
+ | }}</includeonly><noinclude>{{doc}}</noinclude> |
Текущая версия на 21:52, 21 февраля 2011
Документация
Не надо шаблона! Петров Петр Петрович:)
Не надо шаблона! Сергей Сергеевич:)
Не надо шаблона! Семен Семеныч Васильев (старший):)
На входе:
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/>}}Получаем: Не надо шаблона! Иванов Иван Иванович:)
Не надо шаблона! Петров Петр Петрович:)
Не надо шаблона! Сергей Сергеевич:)
Не надо шаблона! Семен Семеныч Васильев (старший):)