Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Interne MyCodes überschreiben
#1
Hallo,

ich musste gerade feststellen, dass man interne MyCodes nicht so einfach überschreiben kann, indem man einen MyCode erstellt, welcher den selben regulären Ausdruck verwendet.

Beispiel: Ich wollte das dieser MyCode so wirken soll wie ich will:
Code:
[b]fett[/b]

Dazu habe ich einen MyCode erstellt, welcher wie folgt aussieht:

Regex:
Code:
\[b\](.*?)\[/b\]

Ersetzung:
Code:
<span style="font-weight: bolder; font-size: larger">$1</span>

Doch leider greift der nicht, da MyBB ihn schon standardmäßig dabei hat (ironischer Weise wird gerade dieser interne MyCode im Editor als Beispiel genannt).

Also habe ich mir mal die Datei inc/class_parser.php angesehen, was da faul ist und wurde auch gleich fündig:
Code:
$mycode = array_merge($standard_mycode, $custom_mycode);

Hierbei werden die beiden Arrays mit den internen und benutzerdefinierten MyCodes miteinander "verschmolzen". Blöderweise genau so herum, dass zuerst der interne MyCode greift (steht weiter vorn im Array) und der eigene MyCode dann nichts mehr findet.

Dreht man das Verschmelzen einfach herum funktioniert es wunderbar:
Code:
$mycode = array_merge($custom_mycode, $standard_mycode);

Wer also interne MyCodes überschreiben will, der sollte einfach die Arrays wie angegeben in der Datei verdrehen. Die Möglichkeiten wären enorm, da man dann z.B. ganz einfach durch einen (oder ein paar mehrere) MyCode ein rel="nofollow" an Links anhängen könnte (was z.B. einige wollen) und interne MyCodes, welche einfach nur nerven:
Code:
(c)
trickweise außer Kraft setzen kann.

Ich habe das ganze auch als Bug gemeldet: http://dev.mybboard.net/issues/840
Viele Hoffnungen mache ich mir nicht. Vermutlich wird das als Feature angesehen und abgewiesen oder wegen Gründen welche man nicht nachvollziehen kann (http://dev.mybboard.net/issues/779...) herausgefiltert. Aber man weiß ja nie...
Zitieren
#2
So etwas hatte ich auch schon mal probiert, aber nicht herausgefunden, warum es nicht funktioniert. Danke für den Hinweis!

(02.04.2010, 18:07)querschlaeger schrieb: Viele Hoffnungen mache ich mir nicht. Vermutlich wird das als Feature angesehen und abgewiesen oder wegen Gründen welche man nicht nachvollziehen kann (http://dev.mybboard.net/issues/779...) herausgefiltert. Aber man weiß ja nie...

Die Hoffnung stirbt zuletzt. Wink
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Mycodes in der Mitgliederliste? Mina 2 1.538 12.11.2011, 05:14
Letzter Beitrag: Mina
  [Sammelthread] MyCodes um Video einzubinden querschlaeger 50 16.255 04.05.2011, 11:52
Letzter Beitrag: jaykay
  Biete myCodes Olaf_A 0 1.267 04.12.2010, 05:57
Letzter Beitrag: Olaf_A
  Sterne überschreiben? Paccy 12 3.950 24.07.2009, 09:33
Letzter Beitrag: Paccy
Smile Alle MyCodes als ein Addon einpflanzen! happyspeedy 0 1.302 14.09.2006, 22:09
Letzter Beitrag: happyspeedy