Como evito a codificação de URL dupla ao renderizar URLs no meu site?
Os usuários fornecem URLs e URL brutos com escape adequado para o meu site em uma entrada de texto; Por exemplo, considero esses dois URLs equivalentes:
https://www.cool.com/cool%20beans
https://www.cool.com/cool beans
Agora quero renderizá-los como<a>
tags depois, ao visualizar esses dados. Estou preso entre codificar o texto fornecido e obter esses links:
<a href="https://www.cool.com/cool%2520beans"> <!-- This one is broken! -->
<a href="https://www.cool.com/cool%20beans">
Ou não codificá-lo e obter isso:
<a href="https://www.cool.com/cool%20beans">
<a href="https://www.cool.com/cool beans"> <!-- This one is broken! -->
Qual é a melhor saída do ponto de vista da experiência do usuário com navegadores modernos? Eu estou dividido entre fazer uma passagem de decodificação sobre sua entrada, ou a segunda opção que listei acima, onde não codificamoshref
atributo.