Änderungen

3.408 Bytes hinzugefügt ,  11:25, 3. Jun. 2014
keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1: −
<noinclude>
+
<noinclude>Dies ist die Vorlage „WikilinkWeg“. Sie wandelt einen Wiki-Link im Format <nowiki>[[:Seitenname|Seitenname]]</nowiki> in einfachen Fließtext um (im Beispiel also: Seitenname). Diese Vorlage hat dieselbe Funktion wie <nowiki>{{PAGENAME}}</nowiki>, kann aber in Vorlagen eingesetzt werden, um auch Variablen wie <nowiki>{{{Variable}}}</nowiki> in Fließtexte zu wandeln.
Dies ist die Vorlage „WikilinkWeg“.
   
Sie sollte im folgenden Format genutzt werden:
 
Sie sollte im folgenden Format genutzt werden:
 +
<pre>{{WikilinkWeg|Zeichenkette}}</pre>
 +
 +
Der Parameter "Zeichenkette" ist der umzuwandelnde Wiki-Link.
 +
 
 +
==Beispiele==
 +
{| class="wikitable oben"
 +
! Zeichenkette vorher
 +
! Kommentar
 +
! Ergebnis WikilinkWeg
 +
|-
 +
| <nowiki>[[xxx]]</nowiki>
 +
&rarr; [[xxx]]
 +
| Ein simplier Wikilink
 +
&rarr; Die Linkklammern werden entfernt
 +
| <nowiki>{{ WikilinkWeg | [[xxx]] }}</nowiki>
 +
&rarr; {{WikilinkWeg|[[xxx]]}}
 +
|-
 +
| <nowiki>[[xxx|yyy]]</nowiki>
 +
&rarr; [[xxx|yyy]]
 +
| Ein Wikilink mit Alternativtext
 +
&rarr; Linkklammern und Alternativtext werden entfernt
 +
| <nowiki>{{ WikilinkWeg | [[xxx|yyy]] }}</nowiki>
 +
&rarr; {{WikilinkWeg|[[xxx|yyy]]}}
 +
|-
 +
| <nowiki>[[zzz:xxx|yyy]]</nowiki>
 +
&rarr; [[zzz:xxx|yyy]]
 +
| Ein Wikilink mit Namespace und Alternativtext
 +
&rarr; Linkklammern, Namespace und Alternativtext werden entfernt
 +
| <nowiki>{{ WikilinkWeg | [[zzz:xxx|yyy]] }}</nowiki>
 +
&rarr; {{WikilinkWeg|[[zzz:xxx|yyy]]}}
 +
|-
 +
| <nowiki>[[:zzz:xxx]]</nowiki>
 +
&rarr; [[:zzz:xxx]]
 +
| Ein typischer Kategorie-Link mit zwei Doppelpunkten
 +
&rarr; Alles bis zum hintersten Doppelpunkt wird entfernt (sowie die Linkklammern)
 +
| <nowiki>{{ WikilinkWeg | [[:zzz:xxx]] }}</nowiki>
 +
&rarr; {{WikilinkWeg|[[:zzz:xxx]]}}
 +
|-
 +
| <nowiki>[[xxx/sub]]</nowiki>
 +
&rarr; [[xxx/sub]]
 +
| Ein Wikilink auf eine Unterseite
 +
&rarr; Linkklammern werden entfernt, Haupt-, Unterseite und Slash bleiben stehen
 +
| <nowiki>{{ WikilinkWeg | [[xxx/sub]] }}</nowiki>
 +
&rarr; {{WikilinkWeg|[[xxx/sub]]}}
 +
|-
 +
| <nowiki>[http://www.irgendwo.de/ Irgendwo]</nowiki>
 +
&rarr; [http://www.irgendwo.de/ Irgendwo]
 +
| Ein typischer externer Link mit Alternativtext
 +
&rarr; Das Ergebnis ist unbrauchbar, da die Funktion alles bis zum letzten Doppelpunkt entfernt
 +
| <nowiki>{{ WikilinkWeg | [http://www.irgendwo.de/ Irgendwo] }}</nowiki>
 +
&rarr; {{WikilinkWeg|[http://www.irgendwo.de/ Irgendwo]}}
 +
|-
 +
| <nowiki>[[:Vorlage:WikilinkWeg|WikilinkWeg]]</nowiki>
 +
&rarr; [[:Vorlage:WikilinkWeg|WikilinkWeg]]
 +
| Ein Link auf diese Vorlage hier
 +
&rarr; Alles muss raus, was nicht Seitentitel ist :-)
 +
| <nowiki>{{ WikilinkWeg | [[:Vorlage:WikilinkWeg|WikilinkWeg]] }}</nowiki>
 +
&rarr; {{WikilinkWeg|[[:Vorlage:WikilinkWeg|WikilinkWeg]]}}
 +
|}
 +
 +
== Quellcode kommentiert ==
 
<pre>
 
<pre>
{{WikilinkWeg
+
<!-- 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 }}
 
</pre>
 
</pre>
Klicke auf „Bearbeiten“, um den Vorlagentext anzusehen.
+
</noinclude><includeonly>{{#vardefine:Zeichenkette|{{#explode:{{{1}}}|:|-1}}}}{{#vardefine:Zeichenkette|{{#explode:{{#var:Zeichenkette}}|{{!(}}|-1}}}}{{#vardefine:Zeichenkette|{{#explode:{{#var:Zeichenkette}}|{{!}}|0}}}}{{#explode:{{#var:Zeichenkette}}|{{)!}}|0}}</includeonly>
</noinclude><includeonly></includeonly>