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
Links modifizieren
#1
Hallo erstmal, ich bin neu hier. Hab gestern zum ersten Mal myBB unter schnaeppchenforum.com installiert und bin immer mehr davon begeistert.

Was mir zu meinem (Affiliate-)Glück noch fehlt, wäre ein Plugin, was von Usern eingegebe Links überprüft bzw. umwandelt.

Jeder eingegebene Link nach draußen soll also nach gewissen Regeln umgewandelt werden.

Was das soll? Ich bin z.B. Amazon-Partner und möchte alle nach Amazon gehenden Links mit meiner Partner-Id (reflink) versehen.

Ich freue mich über jede Antwort.
#2
Dazu müsstest du die Funktion mycode_parse_url in der inc/class_parser.php anpassen.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
#3
Danke für den Hinweis, werde ich mir heute Abend mal anschauen...

Wie mache ich denn ein plugin daraus, damit
a) mehr Leute etwas davon haben?
b) ich bei einer neuen Version nicht wieder patchen muss?
#4
Das mit den Reflinks habe ich inzwischen geregelt, aber ein neues Problem:

Links, die eckige Klammern enthalten werden von mybb nicht richtig erkannt/umgesetzt.

http://schnaeppchenforum.com/videospiele...t-253.html

Wenn man die Klammern durch %5B bzw. %5D ersetzt, klappt es, aber das kann man ja keinem User zumuten...

Ich hab auch schon eine Ersetz-Methode gebastelt, weiß aber (noch) nicht, an welcher Stelle die [url][/url] geparset werden. Wenn mir da einer helfen könnte...
Sorry, hab's selbst gefunden:

Zitat:function cache_mycode()
...
$standard_mycode['url_simple']['regex'] = "#\[url\]([a-z]+?://)([^\r\n\"\[<]+?)\[/url\]#sei";
$standard_mycode['url_simple']['replacement'] = "\$this->mycode_parse_url(\"$1$2\")";

$standard_mycode['url_simple2']['regex'] = "#\[url\]([^\r\n\"\[<]+?)\[/url\]#ei";
$standard_mycode['url_simple2']['replacement'] = "\$this->mycode_parse_url(\"$1\")";

$standard_mycode['url_complex']['regex'] = "#\[url=([a-z]+?://)([^\r\n\"\[<]+?)\](.+?)\[/url\]#esi";
$standard_mycode['url_complex']['replacement'] = "\$this->mycode_parse_url(\"$1$2\", \"$3\")";

$standard_mycode['url_complex2']['regex'] = "#\[url=([^\r\n\"\[<&\(\)]+?)\](.+?)\[/url\]#esi";
$standard_mycode['url_complex2']['replacement'] = "\$this->mycode_parse_url(\"$1\", \"$2\")";

Aber so einfach ist es leider nicht, wie ich zuerst hoffte. [xx] wird ja als BBCode erkannt...
#5
Hat hier keiner eine Idee? Das Problem dürfte ich doch nicht alleine haben, oder?
#6
Könnte mit dem nächsten Update behoben sein; Fehler wurde bereits gemeldet: https://www.mybb.de/forum/thread-11154.html
 
The User, Formerly Known As "En-Gedi"
 
#7
Habe den Workaround dort auch mal erwähnt...

In dem RegEx-Teil
Zitat:([^\r\n\"\[<]+?)

der den Teil der URL parset, der nach http:// folgt, kann doch eigentlich kein BB-Code enthalten sein, höchstens umschliessend...

Also sollte
Zitat:([^\r\n\"<]+?)

doch schon eine Lösung darstellen??? Wer kennt sich hier gut mit RegEx aus?
#8
Von hier zum forum.mybboard.de und von dort zum community.mybboard.net Wink

Es gibt schon einen "Fix", der die Klammern nur für die

PHP-Code:
[url] ... [/url

toleriert:

http://community.mybboard.net/thread-38597.html

http://community.mybboard.net/attachment.php?aid=11395


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Foren-Team Anzeige modifizieren the_hole 5 2.492 07.05.2009, 10:05
Letzter Beitrag: ows