にWebアドレスを変換すると、まず、これは前に依頼されているべきもののように思えるが、私は私の質問に答える何かを見つけることができません。有効なhrefの値
私の仕事の基本的な概要は、ユーザー定義のWebアドレスに基づいてWebページ上のアンカーリンクをレンダリングすることです。アドレスはユーザー定義されているように、これは例えば、任意のフォーマットであることができます
- http://www.example.com
- https://www.example.com
- がwww.example.com
- example.com
は私が必要なものこの値をアンカータグのhref
プロパティとして設定することです。さて、問題は、(少なくともChromeでは)絶対URLパスとして認識されているため、最初の2つの例だけが動作することです。最後の2つの例は、(すなわち、相対パスとして扱われる)同じドメインに
をリダイレクトするだから最終的な質問は:一貫した絶対パスが使用されていることを確認するために、これらの値をフォーマットするための最良の方法は何か?私はhttp/httpsをチェックして欠けている場合は追加することができましたが、より信頼性の高い.Netクラスのボックスがあることを期待していました。これは、ユーザー定義の値であるとして、URLを検証するための機能があまりにも素敵なボーナスになるので、それはとにかく完全ジャンク可能性がさらに
、。
最初の 'if'で論理ORの代わりにビット単位ORを使用する理由はありますか?相違点の説明については、[この回答](http://stackoverflow.com/questions/7331686/why-and-not/7331721#7331721)を参照してください。 –
@DanielHilgarth答えを更新しました。元のスクリプトはVB.NETで書かれていたので、私はOPのためにC#でそれを投稿しましたが、それを逃しました。 – Curt
提案をお寄せいただきありがとうございます。私は手動実装を選択する必要があるかもしれませんが(少なくとも今のところ)、 'https'の部分は私の問題ではありません。これらのタイプのサイトについては、私はユーザーに明示的にhttpsの部分を含めると期待しています – musefan