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]] | Ein Wikilink mit Alternativtext
→ Linkklammern und Alternativtext werden entfernt |
{{ WikilinkWeg | [[Selenia|Kaiserreich Selenia]] }}
→ Selenia |
[[: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]] | 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]] | 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]] | 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 }}