Thread Query von Hyperlinks sortieren (26 answers)
Opened by mika at 2020-01-28 14:01

haj
 2020-01-28 19:55
#191219 #191219
User since
2015-01-07
527 Artikel
BenutzerIn

user image
2020-01-28T14:59:17 styx-cc
Den Querystring kannst du doch per Hand splitten.

Da ich die selbe Aufgabe auch mal lösen musste (ist schon Jahre her), noch ein paar Hinweise:

  • Manchmal sind die Query-Parameter nicht mit &, sondern mit ; voneinander getrennt. Das ist eine W3C-Empfehlung, damit die &-Zeichen ohne HTML-Escaping in href-Attribute gesteckt werden können. Solche Query-Strings werden auch von CPAN:CGI erzeugt.
  • Ein Leerzeichen in einem Query-Parameter kann als + oder als %20 repräsentiert werden. Manche Zeichen müssen, aber alle können auch als Prozent-Escapes in einen Query-String geschrieben werden. Wenn so etwas vorkommen kann, muss man die URI nach dem Aufspalten durch uri_unescape (aus CPAN:URI::Escape) schicken.
  • Wenn Du ganz böse Testfälle hast, dann musst Du vor dem uri_unescape Namen und Wert der Variablen voneinander trennen, denn tatsächlich ist nicht verboten, dass der Name ein Gleichheitszeichen enthält: <input type="text" name="a=b" value="c" /> ergibt einen Query-String a%3Db=c, das ist eine andere Query als <input type="text" name="a" value="b=c" /> mit dem Query-String a=b%3Dc.
  • Und natürlich kann ein Parameter auch mehrfach vorkommen: foo=bar&foo=baz. Diesen Fall löst die Lösung von styx-cc schon.

View full thread Query von Hyperlinks sortieren