MyBB.de Forum
[G]Links mit eckigen Klammern[ ] - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Archiv (https://www.mybb.de/forum/forum-57.html)
+--- Forum: MyBB 1.4.x (https://www.mybb.de/forum/forum-51.html)
+---- Forum: Bugs (https://www.mybb.de/forum/forum-54.html)
+----- Forum: Gemeldete/Nicht gemeldete Bugs (https://www.mybb.de/forum/forum-56.html)
+----- Thema: [G]Links mit eckigen Klammern[ ] (/thread-11154.html)

Seiten: Seiten: 1 2


[G]Links mit eckigen Klammern[ ] - Lamin - 03.10.2008

Hallo zusammen,

ich habe im Forum nichts gefunden über die suche.
Links wo Brackets [ ] stehen lassen sich nicht komplett in einem Beitrag darstellen. Hier ein Beispiel

Code:
http://www.airlinetest.com/index.php?id=topdetails&no_cache=1&uid=447&tx_ttnews[swords]=Lufthansa

http://www.airlinetest.com/index.php?id=topdetails&no_cache=1&uid=447&tx_ttnews[swords]=Lufthansa

Gibt es eine Lösung dafür?
Danke im Voraus


RE: Links mit eckigen Klammern[ ] - Mak - 03.10.2008

Das scheint ein Bug zu sein. Eine Lösung dafür kann ich dir leider im Moment nicht bieten...


RE: [G]Links mit eckigen Klammern[ ] - Reichweite.de - 07.11.2008

Ich kann einen Workaround anbieten:

Wenn man die eckigen Klammern ersetzt:

[ durch %5B und
] durch %5D

z.B. [articleID] -> %5BArtikel_ID%5D

werden die Links nicht verstümmelt, siehe:
http://schnaeppchenforum.com/videospiele/iron-man-hulk-19-99-goldene-kompass-99-t-253.html

Oder auch hier:
https://www.mybb.de/forum/thread-20806-post-145088.html#pid145088


RE: [G]Links mit eckigen Klammern[ ] - Michael - 08.11.2008

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


RE: [G]Links mit eckigen Klammern[ ] - Reichweite.de - 08.11.2008

Ah, danke. Wird getestet!

Klappt leider mit den Links von WOV nicht:

Zitat:=69889]test



RE: [G]Links mit eckigen Klammern[ ] - Michael - 08.11.2008

Das Problem ist, dass Klammern eigentlich nicht gültig in URLs sind. Das sollte mit dem Fix aber gehen:
Code:
[url]http://www.world-of-video.de/index.php?id=106&no_cache=1&tx_shopengine_pi1[Artikel_ID]=69889[/url]



RE: [G]Links mit eckigen Klammern[ ] - Reichweite.de - 08.11.2008

Ich würde die eingegebenen URLs - vor dem parsen - mit dem Workaround ([ -> %5B und
] -> %5D) behandeln, das müsste doch gehen.

Problemkind ist irgendwie noch die "url_complex":

[code]]text

Edit: jetzt hab ich mal einen diff gemacht: ich hab den Fix gar nicht komplett ausprobiert, da gibt es noch eine Zeile:

PHP-Code:
        // fix some entities in URLs
        
$fullurl strtr($fullurl, array('$' => '%24''^' => '%5E''`' => '%60''[' => '%5B'']' => '%5D''{' => '%7B''}' => '%7D''"' => '%22''<' => '%3C''>' => '%3E'' ' => '%20')); 



RE: [G]Links mit eckigen Klammern[ ] - Michael - 09.11.2008

Ich versuche das Problem mal zu verdeutlichen anhand dieser URL:
Code:
[url=http://www.world-of-video.de/index.php?id=106&no_cache=1&tx_shopengine_pi1[Artikel_ID]=69889]test[/url]
Für den Parser beginnt der MyCode mit der [url= und endet mit der nächsten geschlossenen eckigen Klammer. Da sich diese aber schon in der URL selbst befindet, gibt es hier ein Problem. Die Klammern in der URL zu ersetzen sollte aber funktionieren.

Zur Codezeile: Diese wird nur auf alles zwischen [url ] und [/url ] angewandt (ohne Angabe eines Titels für den Link). Wenn man alles ersetzt, dann passiert das auch mit den Klammern des MyCodes selbst und das Problem besteht weiterhin.


RE: [G]Links mit eckigen Klammern[ ] - Reichweite.de - 09.11.2008

Ja, man müsste recht intelligent genau die URL heraussuchen (also z.B. in dem Beispiel von "[url=" bis zur letzten "]" (vor "[/url]").

Keine Ahnung, wie man das mit einer RegEx macht. Wenn man die URL hat, kann man dann darin die [] ersetzen.

Selbst dann hat man noch das Problem (bei den url_complex), wenn eine eckige Klammer in der Beschreibung steht:

Code:
[url=http://url.de]Beschreibung][/url]
[url=http://url.de[Parameter]]Beschreibung [beispiel] so könnte das aussehen[/url]

Kann verstehen, warum das Problem in der 1.4.3 noch existiert. Wie ist das denn in phpbb gelöst?
Vielleicht zählt man die (offenen) eckigen Klammern? Im zweiten Beispiel also
1 [url=
2 [Parameter
1 ]
0 ] < hier hört die URL auf

Ich hoffe, ich konnte die Idee rüberbringen. Man hat dann allerdings ein Problem, wenn die Klammern nicht geschlossen werden:

Code:
[url=http://url.de[Parameter1][Parameter2&irgendwas=1]Beschreibung [beispiel] so könnte das aussehen[/url]



RE: [G]Links mit eckigen Klammern[ ] - Michael - 09.11.2008

(09.11.2008, 21:57)Reichweite.de schrieb: Ja, man müsste recht intelligent genau die URL heraussuchen (also z.B. in dem Beispiel von "[url=" bis zur letzten "]" (vor "[/url]").

Keine Ahnung, wie man das mit einer RegEx macht.
Meines Wissens ist das über einen regulären Ausdruck nicht möglich.
(09.11.2008, 21:57)Reichweite.de schrieb: Wie ist das denn in phpbb gelöst?
Dort besteht das Problem auch (siehe Screenshot im Anhang), ebenso im WBB.
(09.11.2008, 21:57)Reichweite.de schrieb: Vielleicht zählt man die (offenen) eckigen Klammern? [...] Ich hoffe, ich konnte die Idee rüberbringen. Man hat dann allerdings ein Problem, wenn die Klammern nicht geschlossen werden:
Wie du selbst siehst, gibt es keine zufriedenstellende und unkomplizierte Lösung, für ein Problem, das es eigentlich nicht geben dürfte, da Klammern in URLs eigentlich nicht zulässig sind.