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


RE: Algorithmen-Plugin - Stefan Pochmann - 23.07.2011

(23.07.2011, 01:29)Felk schrieb: Ich musste es wieder deaktivieren, weil es alle Spoiler-Ausklapp-Knöpfe hat verschwinden lassen O_o

Nanu... war das mit deiner vorigen Version auch schon so, oder ist das erst mit meiner passiert? Irgendeine Ahnung, woran es liegt? Zeig bitte mal den html-code eines Beitrags mit Spoiler, einmal mit unserem Plugin aktiviert und einmal deaktiviert. Bin ja mal gespannt, was das fuer einen Unterschied macht...


RE: Algorithmen-Plugin - Felk - 23.07.2011

Erstmal...
Ohne Plugin:
Code:
<div>
<div class="spoiler_header">
Test
<a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='<button>Ausklappen</button>';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='<button>Einklappen</button>';}"><button>Ausklappen</button></a>
</div>
<div class="spoiler_body" style="display: none;">Lorem ipsum</div>
</div>

Mit Plugin:
Code:
<div>
<div class="spoiler_header">
Test
<a href="http://alg.garron.us/?alg=&animtype=solve&notation=WCA" target="_blank"></a>
</div>
<div class="spoiler_body" style="display: none;">Lorem ipsum</div>
</div>

Scheint einfach den gesamten A-Tag zu ersetzen.

EDIT: Okay, der Ausdruck ersetzt alle <a>'s und [url]'s.
Wenn ich mir den ausdruck angucke, sieht das auch komisch aus:
#\[alg(?:=([2-7]))?](.*?)\[/alg]|($move(?: $move){2,})|(\[url.*?/url]|<a .*?/a>)#eis


RE: Algorithmen-Plugin - Stefan Pochmann - 23.07.2011

Die matche ich mit voller Absicht, um sie dann eben zu ueberspringen. Dafuer diese Zeile:
PHP-Code:
'"$4" ? stripslashes("$4") : garron("$2$3","$1")'

$1 ist gegebenenfalls die Groesse
$2 oder $3 ist gegebenenfalls der Algorithmus
$4 ist gegebenenfalls das a oder url

In letzterem Fall sollte das a/url nicht durch garron ersetzt werden, sondern durch sich selbst.


RE: Algorithmen-Plugin - Stefan Pochmann - 23.07.2011

Grad mal so getestet:
PHP-Code:
$message = <<<MESSAGE
<div>
<div class="spoiler_header">
Test
<a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='<button>Ausklappen</button>';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='<button>Einklappen</button>';}"><button>Ausklappen</button></a>
</div>
<div class="spoiler_body" style="display: none;">Lorem ipsum</div>
</div>
MESSAGE;
echo 
alglinker_run$message ); 

Ausgabe:
Code:
<div>
<div class="spoiler_header">
Test
<a href="javascript:void(0);" onclick="javascript:if(parentNode.parentNode.getElementsByTagName('div')[1].style.display=='block'){parentNode.parentNode.getElementsByTagName('div')[1].style.display='none';this.innerHTML='<button>Ausklappen</button>';}else {parentNode.parentNode.getElementsByTagName('div')[1].style.display='block';this.innerHTML='<button>Einklappen</button>';}"><button>Ausklappen</button></a>
</div>
<div class="spoiler_body" style="display: none;">Lorem ipsum</div>
</div>



RE: Algorithmen-Plugin - Stefan Pochmann - 23.07.2011

(23.07.2011, 18:27)Stefan schrieb: Die matche ich mit voller Absicht, um sie dann eben zu ueberspringen. Dafuer diese Zeile:
PHP-Code:
'"$4" ? stripslashes("$4") : garron("$2$3","$1")'

Probier's mal stattdessen hiermit:
PHP-Code:
'(\'$4\'!=\'\' ? stripslashes(\'$4\') : garron(\'$2$3\',\'$1\'))'



RE: Algorithmen-Plugin - Felk - 23.07.2011

Ich war schuld. Nehm ich mein (w?) aus dem $move, dann geht es. Ich schätze ich denke da zu einfach.
$move funktioniert so, erkennt aber kein Lw, Dw' Uw2 usw.
Code:
$move = "\b[UDFBLRudfblrMESxyz](?:'|2|\b)";

EDIT: Das ist ja doof. alg.garron.us schluckt w's nur im WCA Modus und w's nur im WCA-Modus


RE: Algorithmen-Plugin - Stefan Pochmann - 23.07.2011

(23.07.2011, 19:45)Felk schrieb: Ich war schuld. Nehm ich mein (w?) aus dem $move, dann geht es. Ich schätze ich denke da zu einfach.

Boah, ja, das darfst du natuerlich nicht machen. Einfach mal Klammern hinzufuegen und so die Nummerierung veraendern. Nimm die einfach mal weg, also nur "w?". Wieso willst du das ueberhaupt klammern?

(23.07.2011, 19:45)Felk schrieb: EDIT: Das ist ja doof. alg.garron.us schluckt
w's nur im WCA Modus und
w's nur im WCA-Modus

Hast du dich da verschrieben?


RE: Algorithmen-Plugin - Stefan Pochmann - 23.07.2011

Und ersetz die eine Zeile durch das hier, das ist besser:
PHP-Code:
'\'$4\' ? str_replace(\'\\"\', \'"\', \'$4\') : garron(\'$2$3\',\'$1\')'

Hab ne Idee, wie a/url noch sauberer echt uebersprungen werden koennen (ohne Ersetzen), probier ich vielleicht noch.