ユーザーは適切にエスケープされた URL と生の URL の両方をテキスト入力で私の Web サイトに提供します。たとえば、次の 2 つの URL は同等であると考えています。
https://www.cool.com/cool%20beans
https://www.cool.com/cool beans
<a>
後でこのデータを表示するときに、これらをタグとしてレンダリングしたいと思います。指定されたテキストのエンコードとこれらのリンクの取得の間で立ち往生しています:
<a href="https://www.cool.com/cool%2520beans"> <!-- This one is broken! -->
<a href="https://www.cool.com/cool%20beans">
または、それをエンコードせずにこれを取得します:
<a href="https://www.cool.com/cool%20beans">
<a href="https://www.cool.com/cool beans"> <!-- This one is broken! -->
最新のブラウザーでユーザー エクスペリエンスの観点から最善の方法は何ですか? href
入力に対してデコード パスを実行するか、属性をエンコードしない上記の 2 番目のオプションを実行するかで迷っています。