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) |
RE: Algorithmen-Plugin - Felk - 22.07.2011 Hey, guter Ansatz! Allerdings nimmt er die 2er irgendwie nicht. Sieht lokal z.B. so aus: R U' R' U' R U R D R' U' R D' R' U2 R' U' (die letzten 3 sollen nicht verlinkt sein, macht das plugin hier aber schon) RE: Algorithmen-Plugin - Stefan Pochmann - 22.07.2011 Uups, stimmt ja, Ziffern gelten als Wortbestandteile. Moment... RE: Algorithmen-Plugin - Stefan Pochmann - 22.07.2011 Ugh, muss mich morgen nochmal dran setzen, bin grad zu muede und wollte sowieso schon im Bett sein... RE: Algorithmen-Plugin - Stefan Pochmann - 22.07.2011 Oder probier's grad nochmal so: #((\b[UDFBLR]['2]?( |$)){3,})# RE: Algorithmen-Plugin - Felk - 22.07.2011 Ja, die 2 nimmt er, das klappt! Aber das letzte Zeichen einer Zeile linkt er nicht. Wahrscheinlich liegt das Problem im ( |$), da er ein alleiniges $ nicht als Zeilenende interpretieren kann oder so... EDIT: Okay, es klappt wenn man #blablaausdruck#m dahinterschreibt, damit der multi-line mode aktiviert wird. RE: Algorithmen-Plugin - Stefan Pochmann - 22.07.2011 Hat allerdings immer das Leerzeichen hinter dem Algo mitgenommen, das war unschoen. Ich hab's fuer's erste aufgegeben, den Ausdruck fuer einen Zug nicht zu wiederholen. Hier meine jetzige Loesung samt Tester mit Testfaellen: PHP-Code: <?php Ausgabe: Code: ok: foo {R U' R' U' R U R D R' U' R D' R' U2 R' U'} bar Also die Zeilen PHP-Code: $move = "\b[UDFBLR]('|2|\b)"; PHP-Code: $out = preg_replace( "#(\b[UDFBLR]('|2|\b)( \b[UDFBLR]('|2|\b)){2,})#", '{$1}', $in ); Mit so einem Prograemmchen bekommt man viel besser Hilfe, siehe auch: The SSCCE - Short, Self Contained, Correct (Compilable), Example Kannst es ja mal so im PHP-Forum zeigen und sie fragen, ob sie da noch bessere Ideen haben. Damit verstehen sie besser, um was es geht, und koennen eigene Ideen auch gleich ganz einfach testen. RE: Algorithmen-Plugin - Felk - 22.07.2011 Das vorhin lief auch schon gut, aber es gibt da immernoch ein Problem: Algorithmen werden auch da geparsed, wo sie es garnicht sollen, z.B. in HTML: <a href="blabla/?alg=U2 R F R2"></a> Das fette würde geparsed werden, solls aber nicht. Hatte es vorher gelöst indem keine algos geparsed werden, vor denen noch Algo-Bruchteile stehen. Ist aber eine schlechte Lösung gewesen RE: Algorithmen-Plugin - Stefan Pochmann - 22.07.2011 Und die naechste spannende Frage ist dann, wie du Klammern mitnimmst, z.B.: ((FR'F'R)U²)((FR'F'R²)U²R') Wenn du es mit einer Anwendung eines regulaeren Ausdrucks hinbekommst, einen solchen Algorithmus zu erkennen und die korrekte Klammerung zu ueberpruefen, hast du dir echt 'nen Nobelpreis oder so verdient (ganz im Ernst (aber den Witz wird wohl kaum jemand verstehen...)). RE: Algorithmen-Plugin - Stefan Pochmann - 22.07.2011 (22.07.2011, 03:09)Felk schrieb: Algorithmen werden auch da geparsed, wo sie es garnicht sollen, z.B. in HTML: Also zumindest an der Stelle ist das ja sowieso falsch. Eine URL sollte keine Leerzeichen enthalten, solltest du durch Unterstriche ersetzen. So macht Lucas es naemlich selbst, da sieht das so aus: Code: [url="http://alg.garron.us/?alg=R_U_R-_U-_R_U_R-_U-"]R U R' U' R U R' U'[/url] Kann aber im Textteil ja noch gefunden werden. Da vielleicht zusaetzlich nach [url.../url] suchen und die ueberspringen. RE: Algorithmen-Plugin - LinusR - 22.07.2011 Und mir fällt grade auf, dass Cuberotations nicht dazugezählt werden. L' U R' z R2 U R' D U' R D' R2 U R' D |