Vorlage:WikilinkWeg

Dies ist die Vorlage „WikilinkWeg“. Sie wandelt einen Wiki-Link im Format [[:Seitenname|Seitenname]] in einfachen Fließtext um (im Beispiel also: Seitenname). Diese Vorlage hat dieselbe Funktion wie {{PAGENAME}}, kann aber in Vorlagen eingesetzt werden, um auch Variablen wie {{{Variable}}} in Fließtexte zu wandeln. Sie sollte im folgenden Format genutzt werden:

{{WikilinkWeg|Zeichenkette}}

Der Parameter "Zeichenkette" ist der umzuwandelnde Wiki-Link.

Beispiele

Zeichenkette vorher Kommentar Ergebnis WikilinkWeg
[[Selenia]]

Selenia

Ein simplier Wikilink

→ Die Linkklammern werden entfernt

{{ WikilinkWeg | [[Selenia]] }}

→ Selenia

[[Selenia|Kaiserreich Selenia]]

Kaiserreich Selenia

Ein Wikilink mit Alternativtext

→ Linkklammern und Alternativtext werden entfernt

{{ WikilinkWeg | [[Selenia|Kaiserreich Selenia]] }}

→ Selenia

[[:Selenia|Kaiserreich Selenia]]

Kaiserreich Selenia

Ein Wikilink mit Namespace und Alternativtext

→ Linkklammern, Namespace und Alternativtext werden entfernt

{{ WikilinkWeg | [[:Selenia|Kaiserreich Selenia]] }}

→ Selenia

[[:Kategorie:Selenia|Alle Einträge zum Kaiserreich Selenia]]

Alle Einträge zum Kaiserreich Selenia

Ein typischer Kategorie-Link mit zwei Doppelpunkten

→ Alles bis zum hintersten Doppelpunkt wird entfernt (sowie die Linkklammern)

{{ WikilinkWeg | [[:Kategorie:Selenia|Alle Einträge zum Kaiserreich Selenia]] }}

→ Selenia

[[Selenia/Karten]]

Selenia/Karten

Ein Wikilink auf eine Unterseite

→ Linkklammern werden entfernt, Haupt-, Unterseite und Slash bleiben stehen

{{ WikilinkWeg | [[Selenia/Karten]] }}

→ Selenia/Karten

[http://www.irgendwo.de/ Irgendwo]

Irgendwo

Ein typischer externer Link mit Alternativtext

→ Das Ergebnis ist unbrauchbar, da die Funktion alles bis zum letzten Doppelpunkt entfernt

{{ WikilinkWeg | [http://www.irgendwo.de/ Irgendwo] }}

→ //www.irgendwo.de/ Irgendwo

[[:Vorlage:WikilinkWeg|WikilinkWeg]]

WikilinkWeg

Ein Link auf diese Vorlage hier

→ Alles muss raus, was nicht Seitentitel ist :-)

{{ WikilinkWeg | [[:Vorlage:WikilinkWeg|WikilinkWeg]] }}

→ WikilinkWeg

Quellcode kommentiert

<!-- Entferne alle Zeichen von links bis einschließlich dem letztmalig auftretenden Doppelpunkt ":" -->
{{#vardefine: Zeichenkette | {{#explode: {{{1}}} | : | -1 }} }}

<!-- Entferne alle Zeichen von links bis einschließlich der letztmalig auftretenden öffnenden Eckklammer "[" -->
{{#vardefine: Zeichenkette | {{#explode: {{#var:Zeichenkette}} | {{!(}} | -1 }} }}

<!-- Entferne alle Zeichen bis zum Ende ab der erstmalig auftretenden Pipe "|" -->
{{#vardefine: Zeichenkette | {{#explode: {{#var:Zeichenkette}} | {{!}} | 0 }} }}

<!-- Entferne alle Zeichen bis zum Ende ab der erstmalig auftretenden schließenden Eckklammer "]" -->
<!-- Gebe diese verbleibende Zeichenkette zurück -->
{{#explode: {{#var:Zeichenkette}} | {{)!}} | 0 }}