ColBot (Diskussion | Beiträge) K Dateiaustausch - siehe Löschantrag |
K Redlink |
||
| (Eine dazwischenliegende Version von 2 Benutzern wird nicht angezeigt) | |||
| Zeile 819: | Zeile 819: | ||
Ich habe meine erste Idee etwas umgewandelt. Der Text wird zerlegt in Teile mit und ohne Klammern. Dann werden die Teile in der Klammer mit der Vorlage aufgerufen um zu prüfen ob diese den Parameter akzeptiert d.h. verändert. Wenn das so ist wird im Ergebnis der Aufruf der Vorlage eingetragen sonst einfach nur die Eingabe. Neu ist das ich das Auswerten nicht mehr in der Erweiterung mache sondern nur die Wiki Anweisung erzeuge und diese zurück liefere. Ich hoffe das es nur richtig funktioniert. Zumindest deine Beispiele laufen jetzt. --[[Benutzer:Rene|Rene]] <sup>[[StargateWiki:Administratoren|Admin]] - [[Benutzer Diskussion:Rene|Rückmeldung]]</sup> 19:54, 26. Sep. 2010 (CEST) | Ich habe meine erste Idee etwas umgewandelt. Der Text wird zerlegt in Teile mit und ohne Klammern. Dann werden die Teile in der Klammer mit der Vorlage aufgerufen um zu prüfen ob diese den Parameter akzeptiert d.h. verändert. Wenn das so ist wird im Ergebnis der Aufruf der Vorlage eingetragen sonst einfach nur die Eingabe. Neu ist das ich das Auswerten nicht mehr in der Erweiterung mache sondern nur die Wiki Anweisung erzeuge und diese zurück liefere. Ich hoffe das es nur richtig funktioniert. Zumindest deine Beispiele laufen jetzt. --[[Benutzer:Rene|Rene]] <sup>[[StargateWiki:Administratoren|Admin]] - [[Benutzer Diskussion:Rene|Rückmeldung]]</sup> 19:54, 26. Sep. 2010 (CEST) | ||
:Es gibt noch einen(?) Fehler in der Erweiterung. Das folgende: <nowiki>[[Hauptseite (a)]]</nowiki> wird leider zu {{#recursiv:Kürzel/Spezies|[[Hauptseite (a)]]}}. Wobei ich nicht weiß wie man das verhindern soll bzw. ob das mit der alten Version nicht auch so war. Ein Begriff in Klammern wird eben ersetzt wenn die Vorlage ihn erkennt. --[[Benutzer:Rene|Rene]] <sup>[[StargateWiki:Administratoren|Admin]] - [[Benutzer Diskussion:Rene|Rückmeldung]]</sup> 08:56, 27. Sep. 2010 (CEST) | :Es gibt noch einen(?) Fehler in der Erweiterung. Das folgende: <nowiki>[[Hauptseite (a)]]</nowiki> wird leider zu {{#recursiv:Kürzel/Spezies|[[Hauptseite (a)]]}}. Wobei ich nicht weiß wie man das verhindern soll bzw. ob das mit der alten Version nicht auch so war. Ein Begriff in Klammern wird eben ersetzt wenn die Vorlage ihn erkennt. --[[Benutzer:Rene|Rene]] <sup>[[StargateWiki:Administratoren|Admin]] - [[Benutzer Diskussion:Rene|Rückmeldung]]</sup> 08:56, 27. Sep. 2010 (CEST) | ||
::Dieses Problem gab es auch schon in der alten Version. Die bisherige Lösung die Klammern durch Zeichenentitäten zu ersetzten funktioniert mit der neuen Version auch. <code><nowiki>[[Waffenkammer &#x28;SGC)]]</nowiki></code> wird zu ''{{#recursiv:Kürzel/Organisation|[[Waffenkammer (SGC)]]}}'' (mit Klammer zu ''{{#recursiv:Kürzel/Organisation|[[Waffenkammer (SGC)]]}}''). Man könnte auch eine kleine Vorlage à la | ::Dieses Problem gab es auch schon in der alten Version. Die bisherige Lösung die Klammern durch Zeichenentitäten zu ersetzten funktioniert mit der neuen Version auch. <code><nowiki>[[Waffenkammer &#x28;SGC)]]</nowiki></code> wird zu ''{{#recursiv:Kürzel/Organisation|[[Waffenkammer (SGC)]]}}'' (mit Klammer zu ''{{#recursiv:Kürzel/Organisation|[[Waffenkammer (SGC)]]}}''). Man könnte auch eine kleine Vorlage à la {{Gelöschte Seite|Vorlage:!|<nowiki>{{!}}</nowiki>}} schreiben. In den meisten Fällen wird es keine Probleme geben; ich weiß nicht ob man <code>#recursiv</code> so umschreiben sollte, dass es Klammern in Links ignoriert, vielleicht wird das ja nochmal gebraucht.--[[Benutzer:CF|CF]] 11:04, 27. Sep. 2010 (CEST) | ||
:::Hm, eigentlich scheint es doch sinnvoller zu sein, Klammern in Links einfach zu ignorieren. | :::Hm, eigentlich scheint es doch sinnvoller zu sein, Klammern in Links einfach zu ignorieren. | ||
:::<syntaxhighlight lang="php" enclose="none">$split = preg_split('/(\[\[.*?\]\]|\(.*?\))/i',$parstext,-1,PREG_SPLIT_NO_EMPTY|PREG_SPLIT_DELIM_CAPTURE);</syntaxhighlight> | :::<syntaxhighlight lang="php" enclose="none">$split = preg_split('/(\[\[.*?\]\]|\(.*?\))/i',$parstext,-1,PREG_SPLIT_NO_EMPTY|PREG_SPLIT_DELIM_CAPTURE);</syntaxhighlight> | ||