Themabewertung:
  • 1 Bewertung(en) - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Algorithmen-Plugin
#1
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.
[Bild: signatur_image.php?name=Felix+K%F6nig&pb...=1&motiv=1][Bild: img.php?id=2009KONI03&ranking=NR&event_1...nsparent=1]
Zitieren
#2
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]
Zitieren
#3
Finde ich super Smile
Zitieren
#4
Sorry wegen dem fehlenden Code Smile

Also das selbsterkennen dürfte bald funktionieren, hat halt noch ein paar Bugs.
[Bild: signatur_image.php?name=Felix+K%F6nig&pb...=1&motiv=1][Bild: img.php?id=2009KONI03&ranking=NR&event_1...nsparent=1]
Zitieren
#5
Hoert sich verdammt gut an. Wenn dann nochmal jemand nen fehlerhaften Algo schreibt, wird das schoen peinlich aussehen Tongue
Zitieren
#6
Okay, ich bin voraussichtlich zu doof für reguläre Ausdrücke :/
Irgendwann krieg ich das hin!
[Bild: signatur_image.php?name=Felix+K%F6nig&pb...=1&motiv=1][Bild: img.php?id=2009KONI03&ranking=NR&event_1...nsparent=1]
Zitieren
#7
Wie sehen sie denn bisher aus? Vielleicht koennen wir ja helfen...
Zitieren
#8
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.
[Bild: signatur_image.php?name=Felix+K%F6nig&pb...=1&motiv=1][Bild: img.php?id=2009KONI03&ranking=NR&event_1...nsparent=1]
Zitieren
#9
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-r...ennen.html
[Bild: signatur_image.php?name=Felix+K%F6nig&pb...=1&motiv=1][Bild: img.php?id=2009KONI03&ranking=NR&event_1...nsparent=1]
Zitieren
#10
(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,})#
Zitieren


Gehe zu: