Forum: www.mikrocontroller.net Verkrüppelter Link


von Sven S. (boldie)


Lesenswert?

Hi,

ich habe gerade versucht einen Beitrag zu editieren und einen Link auf 
einen Wiki-Artikel dort einzufügen.

Beitrag ist der folgende:
Beitrag "Re: [Rundum] Sammelbestellung de.Mouser.com 2017"

Hier sollte eine URL eingegeben werden, die auf die Wiki-Seite verweist:
https://www.mikrocontroller.net/articles/Sammelbestellungen(Mouser)
Aber die Erkennung, was zum Link gehört scheint nicht richtig zu 
funktionieren, die letzte Klammer wird nicht als zugehörig zum Link 
erkannt.

So etwas ähnliches muss dem Threadstarter auch passiert sein oder auch 
was anderes, denn der erste Link ist bei den "..." abgeschnitten.

Vielleicht kann das bei Gelegenheit mal gefixt werden.

Grüße!

von g457 (Gast)


Lesenswert?

> Vielleicht kann das bei Gelegenheit mal gefixt werden

Die Problematik ist seit mindestens grob 9 Jahren [0] bekannt. Scheint 
allerdings nicht so einfach zu sein, die Forensoftware dahingehend 
anzupassen, dass sie 'normale' Klammersetzung korrekt behandelt.

[0] Beitrag "Fehler bei Links mit Klammern"

von Clemens L. (c_l)


Lesenswert?

Normalerweise sind Klammern nicht Teil des Links (siehe z.B. 
http://www.example.com/). Wenn mal also wirklich Klammern braucht, muss 
man halt den %29-Workaround benutzen.

von g457 (Gast)


Lesenswert?

> Normalerweise sind Klammern nicht Teil des Links [..]

'Normalerweise' ist die Anzahl der öffnenden und der schließenden 
Klammern gleich, und Schließende kommen erst nach der jeweils 
zugehörigen Öffnenden. Offenkundig gehört in einem Fragment wie..
1
foo bar (siehe auch https://www.mikrocontroller.net/articles/Sammelbestellungen(Mouser))
..die erste schließende Klammer zur URL, die zweit nicht. So einfach 
wäre das und es würde grob >>99% der Fehlinterpretationen erschlagen 
(der Rest nutzt unnormale Klammersetzung). Scheint aber wie geschrubt 
nicht so einfach zu sein, das der Forensoftware beizubringen, sonst 
hätte Andreas das wohl schon längst getan.

von Mark B. (markbrandis)


Lesenswert?

Clemens L. schrieb:
> Normalerweise sind Klammern nicht Teil des Links

Es gibt durchaus etliche Wikipedia-Artikel, bei denen die Klammer zum 
Link dazugehört.

von Wolfgang (Gast)


Lesenswert?

Clemens L. schrieb:
> Normalerweise sind Klammern nicht Teil des Links ...

Sagt wer?
Es gibt eine zulässige Syntax für URLs und auf die sollte eigentlich so 
ein Algorithmus getestet sein/werden.

Nur weil in vielen Links keine Klammern vorkommen, muss das nicht 
anormal sein.

von Harald W. (wilhelms)


Lesenswert?

Mark B. schrieb:

> Es gibt durchaus etliche Wikipedia-Artikel, bei denen die Klammer zum
> Link dazugehört.

Dort erscheint aber sehr oft automatisch der %29-Ersatz.

von g457 (Gast)


Lesenswert?


Beitrag #4978815 wurde vom Autor gelöscht.
von Mark B. (markbrandis)


Lesenswert?

Nehmen wir einmal an, die folgenden beiden Annahmen treffen zu:

a.) Zu einer öffnenden runden Klammer im Link gibt es stets auch eine 
schließende runde Klammer im Link.
b.) Die schließende Klammer ist das letzte Zeichen im Link (so wie in 
den obigen Beispielen).

Dann wäre ein Algorithmus zur Erkennung eines solchen "Klammer-Links" 
wohl recht einfach zu formulieren:

1.) Iteriere über alle Zeichen ab dem ersten, welches als zu einem Link 
zugehörig erkannt wurde.
2.) Prüfe ob eine öffnende Klammer im Link existiert. Wenn nein --> 
Weitere Bearbeitung des Links so wie bisher auch schon. Wenn ja --> 
Schritt 3.)
3.) Iteriere weiter bis die schließende Klammer gefunden wurde. Diese 
ist dann zugleich auch das letzte Zeichen im Link.

von Daniel A. (daniel-a)


Lesenswert?

Sieht für mich nach einer sachw für regex aus. Spontan würde ich das so 
schreiben:
1
/[a-zA-Z]{2,}:\/\/([^@\s]+@)?(([a-zA-Z\-0-9]+\.)*[a-zA-Z\-0-9]+|[0-9]{2,3}(\.[0-9]{2,3}){3})(\/(:?([^\s()%?:]|\([^\s()%?:]*\)|%[0-9]{2})+\/?)*)?(\?(:?([^\s()?%:]|\([^\s()?%:]*\)|%[0-9]{2}))*)?(\#([^\s()%?:]|\([^\s()%?:]*\)|%[0-9]{2})*)?/g

: Bearbeitet durch User
Beitrag #5070426 wurde von einem Moderator gelöscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.