Jak uniknąć podwójnego kodowania URL podczas renderowania adresów URL w mojej witrynie?
Użytkownicy udostępniają zarówno prawidłowo ucieczkowe adresy URL, jak i nieprzetworzone adresy URL do mojej witryny w postaci tekstu; na przykład uważam te dwa adresy URL za równoważne:
https://www.cool.com/cool%20beans
https://www.cool.com/cool beans
Teraz chcę je renderować jako<a>
tagi później, podczas przeglądania tych danych. Utknąłem między zakodowaniem danego tekstu i uzyskaniem tych linków:
<a href="https://www.cool.com/cool%2520beans"> <!-- This one is broken! -->
<a href="https://www.cool.com/cool%20beans">
Lub nie koduje go i otrzymuje to:
<a href="https://www.cool.com/cool%20beans">
<a href="https://www.cool.com/cool beans"> <!-- This one is broken! -->
Jakie jest najlepsze wyjście z punktu widzenia użytkowników dzięki nowoczesnym przeglądarkom? Jestem rozdarty między przejściem dekodowania przez ich wejście lub drugą opcją, którą wymieniłem powyżej, w której nie kodujemyhref
atrybut.