Шаблон:Извлечь из ссылки: различия между версиями

м (1 версия: импорт из «Традиции»)
 
м (17 версий импортировано: Импорт из traditio.wiki)
 
(не показана 1 промежуточная версия 1 участника)
Строка 1: Строка 1:
<includeonly>{{#regex:{{{1}}}|%^.*?\[\[:?([^\]{{!}}]+)(?:\{{!}}[^\]]*)?]].*$%$1%1^%^.*$%$0%}}</includeonly><noinclude>Шаблон для извлечения предполагаемого имени человека из сложной ссылки. Извлекается содержимое первой ссылки (до <tt>|</tt>), если ссылок нет, то всё переданное.
+
<includeonly>{{#if:{{{sep|}}}
 +
| {{#regex: {{{1}}} | /((?<=\[\[).+?(?=\{{!}}{{!}}\]\]){{!}}^[^\[]+$)/ | sep = , }}
 +
| {{#regex:{{{1}}}|%^.*?\[\[:?([^\]{{!}}]+)(?:\{{!}}[^\]]*)?]].*$%$1%1^%^.*$%$0%}}
 +
}}</includeonly><noinclude>Шаблон для извлечения предполагаемого имени человека из сложной ссылки.
 +
 
 +
Если не задан параметр <code>sep</code>, то извлекается содержимое первой ссылки (до <tt>|</tt>), если ссылок нет, то всё переданное.
 +
 
 +
Если параметр <code>sep</code> задан, то будут извлечены будут все ссылки, и их список будет разделён <code>sep</code>.
  
 
Примеры:
 
Примеры:
 
* <tt><nowiki>{{Извлечь из ссылки|царь [[Александр I]] Благословенный}}</nowiki></tt> даст {{Извлечь из ссылки|царь [[Александр I]] Благословенный}},
 
* <tt><nowiki>{{Извлечь из ссылки|царь [[Александр I]] Благословенный}}</nowiki></tt> даст {{Извлечь из ссылки|царь [[Александр I]] Благословенный}},
 
* <tt><nowiki>{{Извлечь из ссылки|царь [[Александр I{{!}}Александр Благословенный]]}}</nowiki></tt> даст {{Извлечь из ссылки|царь [[Александр I{{!}}Александр Благословенный]]}},
 
* <tt><nowiki>{{Извлечь из ссылки|царь [[Александр I{{!}}Александр Благословенный]]}}</nowiki></tt> даст {{Извлечь из ссылки|царь [[Александр I{{!}}Александр Благословенный]]}},
*<tt><nowiki>{{Извлечь из ссылки|царь Александр I Благословенный}}</nowiki></tt> даст {{Извлечь из ссылки|царь Александр I Благословенный}}.
+
*<tt><nowiki>{{Извлечь из ссылки|царь Александр I Благословенный}}</nowiki></tt> даст {{Извлечь из ссылки|царь Александр I Благословенный}},
 +
*<tt><nowiki>{{Извлечь из ссылки|царь Александр I Благословенный|sep=,}}</nowiki></tt> даст {{Извлечь из ссылки|царь Александр I Благословенный|sep=,}},
 +
*<tt><nowiki>{{Извлечь из ссылки|[[Александр I]], [[Николай I|Николай Павлович]], [[Александр II]] и др.|sep=,}}</nowiki></tt> даст {{Извлечь из ссылки|[[Александр I]], [[Николай I|Николай Павлович]], [[Александр II]] и др.|sep=,}}.
  
[[Категория:Traditio:Вспомогательные шаблоны]]
+
[[Категория:Традиция:Вспомогательные шаблоны]]</noinclude>
</noinclude>
 

Текущая версия от 01:40, 20 сентября 2023

Шаблон для извлечения предполагаемого имени человека из сложной ссылки.

Если не задан параметр sep, то извлекается содержимое первой ссылки (до |), если ссылок нет, то всё переданное.

Если параметр sep задан, то будут извлечены будут все ссылки, и их список будет разделён sep.

Примеры:

  • {{Извлечь из ссылки|царь [[Александр I]] Благословенный}} даст Александр I,
  • {{Извлечь из ссылки|царь [[Александр I{{!}}Александр Благословенный]]}} даст Александр I,
  • {{Извлечь из ссылки|царь Александр I Благословенный}} даст царь Александр I Благословенный,
  • {{Извлечь из ссылки|царь Александр I Благословенный|sep=,}} даст царь Александр I Благословенный,
  • {{Извлечь из ссылки|[[Александр I]], [[Николай I|Николай Павлович]], [[Александр II]] и др.|sep=,}} даст Александр I,Николай I,Александр II.