Wie vermeide ich doppelte URL-Codierung beim Rendern von URLs auf meiner Website?

Benutzer geben in einer Texteingabe sowohl ordnungsgemäß maskierte URLs als auch unformatierte URLs für meine Website ein. Ich halte zum Beispiel diese beiden URLs für gleichwertig:

https://www.cool.com/cool%20beans
https://www.cool.com/cool beans

Jetzt möchte ich diese als rendern<a> Tags später beim Anzeigen dieser Daten. Ich bin zwischen dem Kodieren des gegebenen Textes und dem Erhalten dieser Verbindungen fest:

<a href="https://www.cool.com/cool%2520beans">   <!-- This one is broken! -->
<a href="https://www.cool.com/cool%20beans">

Oder nicht codieren und dies bekommen:

<a href="https://www.cool.com/cool%20beans">
<a href="https://www.cool.com/cool beans">       <!-- This one is broken! -->

Was ist der beste Ausweg aus der Sicht der Benutzererfahrung mit modernen Browsern? Ich bin hin und her gerissen zwischen einem Dekodierungsdurchlauf über ihre Eingabe oder der zweiten Option, die ich oben aufgelistet habe, bei der wir die nicht kodierenhref Attribut.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage