Speedcube.de Forum
Algorithmen-Plugin - Druckversion

+- Speedcube.de Forum (https://forum.speedcube.de)
+-- Forum: Allgemein (https://forum.speedcube.de/forumdisplay.php?fid=3)
+--- Forum: Vorschläge, Kritik & Wünsche (https://forum.speedcube.de/forumdisplay.php?fid=5)
+--- Thema: Algorithmen-Plugin (/showthread.php?tid=2603)

Seiten: 1 2 3 4


Algorithmen-Plugin - Felk - 21.07.2011

Neulich hab' ich auf speedcubers.de den Vorschlag gelesen, dass es doch ganz praktisch wäre, wenn man mit [alg]-Tags Algorithmen nach http://alg.garron.us/ verlinken könnte.

Deshalb hab ich ein experimentelles Plugin installiert, welches folgende Möglichkeiten bietet:
Code:
[alg]F R U R' U' F'[/alg] (Standard 3x3)
[alg]F R U R' U' F'[/alg] (Standard 3x3)

oder: [*alg=4]r2 B2 U2 l U2 r' U2 r U2 F2 r F2 l' B2 r2[/alg] (Cubegrösse angeben)
[alg=4]r2 B2 U2 l U2 r' U2 r U2 F2 r F2 l' B2 r2[/alg]

Ich bastel noch daran, dass das Plugin Algorithmen von selbst erkennt und verlinkt, aber das spielt noch verrückt.


RE: Algorithmen-Plugin - Stefan Pochmann - 21.07.2011

Falls die Sterne und die fehlenden schliessenden Tags nicht nur mich verwirrten... so geht's tatsaechlich Smile

Code:
[alg]F R U R' U' F'[/alg]



RE: Algorithmen-Plugin - LinusR - 21.07.2011

Finde ich super Smile


RE: Algorithmen-Plugin - Felk - 21.07.2011

Sorry wegen dem fehlenden Code Smile

Also das selbsterkennen dürfte bald funktionieren, hat halt noch ein paar Bugs.


RE: Algorithmen-Plugin - Stefan Pochmann - 21.07.2011

Hoert sich verdammt gut an. Wenn dann nochmal jemand nen fehlerhaften Algo schreibt, wird das schoen peinlich aussehen Tongue


RE: Algorithmen-Plugin - Felk - 21.07.2011

Okay, ich bin voraussichtlich zu doof für reguläre Ausdrücke :/
Irgendwann krieg ich das hin!


RE: Algorithmen-Plugin - Stefan Pochmann - 21.07.2011

Wie sehen sie denn bisher aus? Vielleicht koennen wir ja helfen...


RE: Algorithmen-Plugin - Felk - 21.07.2011

Okay, habs hinbekommen:

Code:
#(?<!U|U'|U2|D|D'|D2|F|F'|F2|B|B'|B2|R|R'|R2|L|L'|L2)(((F|B|R|L|U|D)('|2){0,1}(\x20?)){3,})(?!U|U'|U2|D|D'|D2|F|F'|F2|B|B'|B2|R|R'|R2|L|L'|L2)#
=>
<a href=\"http://alg.garron.us/?alg=$1&animtype=solve\" target=\"_blank\">$1</a>

Was mir aber noch nicht gefällt, ist die einzelne Aufzählung der Möglichkeiten (weil Assertions keine Subpatterns mit variabler Zeichenlänge nehmen) und folgendes:

Schreibt ich z.B. R U R' U' wird das nun ganz normal verlinkt.
Schreibe ich aber R U R' U Und danach einen Buchstaben, der zum Algo gehören könnte, würde hier das U von Und mitverlinkt werden. Ansonsten geht das teil ganz gut.

EDIT: Letzteres ist nun auch behoben. Ich hab einfach (\x20?) ("vielleicht eine Leertaste") durch (\x20|[^[:alnum:]]) ("Eine Leertaste oder kein alphanummerisches Zeichen") ersetzt.


RE: Algorithmen-Plugin - Felk - 22.07.2011

Okay, hat doch noch Probleme, die ich so einfach nicht beheben kann. Ich diskutiere schon eine Weile mit den Profis. Hier zum Mitlesen:
http://www.php.de/php-einsteiger/82408-regex-bestimmtes-muster-erkennen.html


RE: Algorithmen-Plugin - Stefan Pochmann - 22.07.2011

(21.07.2011, 23:52)Felk schrieb: [code]#(?<!U|U'|U2|D|D'|D2|F|F'|F2|B|B'|B2|R|R'|R2|L|L'|L2)(((F|B|R|L|U|D)('|2){0,1}(\x20?)){3,})(?!U|U'|U2|D|D'|D2|F|F'|F2|B|B'|B2|R|R'|R2|L|L'|L2)#

Ein paar Verkuerzungsmoeglichkeiten:

[UDFBLR]['2]?
statt
U|U'|U2|D|D'|D2|F|F'|F2|B|B'|B2|R|R'|R2|L|L'|L2
und
(F|B|R|L|U|D)('|2){0,1}

Die Abgrenzung zu Woertern geht denk ich am besten mit \b (word boundary), also dass du sagst, der Buchstabe soll immer alleine stehen:

\b[UDFBLR]\b

Der Gesamtausdruck koennte also so funktionieren:

#((\b[UDFBLR]\b['2]? ?){3,})#