Einzelnen Beitrag anzeigen
  #4 (permalink)  
Alt 29.04.2007, 04:07
Benutzerbild von Pablo
Pablo Pablo ist offline
4 8 15 16 23 42
XHTMLforum-Kenner
 
Registriert seit: 31.05.2004
Beiträge: 1.772
Pablo sorgt für eine eindrucksvolle AtmosphärePablo sorgt für eine eindrucksvolle Atmosphäre
Standard

Hi psycho,

lassen wir das praktische Problem erst mal weg und versuchen es in der Theorie:
Du hast folgenden String:
$l[google.de?search=[foo]bar]suche nach [Foo]bar!$l
Für einen Menschen ist das ganze so weit klar, dass "google.de?search=[foo]bar" die URI und "suche nach [Foo]bar!" die Beschriftung ist.
Und zwar ist uns das klar weil es - unüblich - wäre eine Bezeichnung "bar]suche nach [Foo]bar!" zu benennen. Rein logisch aber durchaus völlig korrekt. Wir als Menschen erkennen also wie das richtig aussehen muss, nur aus reiner Gewohnheitssache weil es unsere Sprache so vorschreibt und wir es nicht anders kennen.

Folglich bleiben dir zwei Möglichkeiten:
Ein mal kannst du dem PC beibringen in gewisser Weise logisch zu denken und solche Sachen selbstständig entscheiden zu können. Problem an der Sache ist der gewaltige Programmieraufwand und dass diese Problemlösung am Ziel vorbeischießen würde. Also weg mit der Idee.

Andere Möglichkeit: Die Syntax ändern. Wenn rein logisch zwei gleichwertige Möglichkeiten bestehen eine Sache zu lösen, musst du so lange an den vorraussetzungen herumschrauben bis nur noch eine eindeutige Lösungsmöglichkeit besteht.
Also den User nicht erlauben [ und ] zu benutzen in URIs, bzw. diese bereits im geschriebenen Code durch %5B und %5D ersetzen.

Wie dem auch sei... So wie du es wünschst geht es technisch und logisch nicht. Egal wie lang du rumschraubst.

Schade eigentlich.

Das SELFHTML Forum welches ich technisch als eines der einwandfreisten bezeichnen würde hat für dieses Phänomen eine Lösung. Links in denen unkodiert ein [ vorkommt werden nicht geparsed. Kommt ein ] vor wird der Link an dieser Stelle beendet. Ganz einfach.

Gruß,
Pablo
__________________
Go Opera!
… oder Chrome. Auch cool.
Mit Zitat antworten