Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.8 veröffentlicht (17.10.16)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
[G]Links mit eckigen Klammern[ ]
#1
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=...&tx_ttnews[swords]=Lufthansa

Gibt es eine Lösung dafür?
Danke im Voraus
#2
Das scheint ein Bug zu sein. Eine Lösung dafür kann ich dir leider im Moment nicht bieten...
#3
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...t-253.html

Oder auch hier:
https://www.mybb.de/forum/thread-20806-p...#pid145088
#4
Siehe dazu: http://community.mybboard.net/thread-38597.html

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#5
Ah, danke. Wird getestet!

Klappt leider mit den Links von WOV nicht:

Zitat:=69889]test
#6
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]

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#7
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')); 
#8
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.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#9
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]
#10
(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.


Angehängte Dateien Thumbnail(s)
   

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.