Das mit dem zweiten Fragezeichen ist nicht erlaubt. Nach RFC 3986 (3.4) kann ein Fragezeichen Teil der Query (oder auch des Fragments) sein.
Das einfachste ist zu überprüfen, ob überhaupt bereits eine Query (eingeleitet mit dem Fragezeichen) bereits existiert. Wenn ja, dann wird einfach statt des Fragezeichens ein & verwendet. Das & ist in der Query immer der Trenner und andere Zeichen sind ohnehin schon (hoffentlich) korrekt encoded.
Daher muss man hier gar nicht großartig mit RegEx arbeiten!
Das einfachste ist zu überprüfen, ob überhaupt bereits eine Query (eingeleitet mit dem Fragezeichen) bereits existiert. Wenn ja, dann wird einfach statt des Fragezeichens ein & verwendet. Das & ist in der Query immer der Trenner und andere Zeichen sind ohnehin schon (hoffentlich) korrekt encoded.
Daher muss man hier gar nicht großartig mit RegEx arbeiten!
Kommentar