Vorlage:WikilinkWeg

Aus Splitterwiki
Wechseln zu: Navigation, Suche

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
[[xxx]]

xxx

Ein simplier Wikilink

→ Die Linkklammern werden entfernt

{{ WikilinkWeg | [[xxx]] }}

→ xxx

[[xxx|yyy]]

yyy

Ein Wikilink mit Alternativtext

→ Linkklammern und Alternativtext werden entfernt

{{ WikilinkWeg | [[xxx|yyy]] }}

→ xxx

[[zzz:xxx|yyy]]

yyy

Ein Wikilink mit Namespace und Alternativtext

→ Linkklammern, Namespace und Alternativtext werden entfernt

{{ WikilinkWeg | [[zzz:xxx|yyy]] }}

→ xxx

[[:zzz:xxx]]

zzz:xxx

Ein typischer Kategorie-Link mit zwei Doppelpunkten

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

{{ WikilinkWeg | [[:zzz:xxx]] }}

→ xxx

[[xxx/sub]]

xxx/sub

Ein Wikilink auf eine Unterseite

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

{{ WikilinkWeg | [[xxx/sub]] }}

→ xxx/sub

[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 }}