2012-01-26 2 views
0

私はURLのブッチを持つDBを持っています。値は、ユーザーによって入力されたので、www.domain.comまたはhttp://www.domain.comまたはstackoverflow.comまたはhttps://something.com 私はそのデータを取得し、人々がクリックすると、そのURLにリダイレクトされるように、htmlページ内のリンクを作成していますのようなものかもしれません。 私はページからURLを取得する場合、私が持っているのどちらかでしょう:それは働く第2のケースでhrefでwww/httpを処理する方法

1.<a href="www.domain.com"> 

または

2.<a href="http://www.domain.com"> 

を、しかし、最初はそれはしていません。 いつも動作させる方法はありますか?

ありがとうございました!

+0

あなたがPHPを使用している場合、これは役に立つかもしれません:[HTTP追加する方法:?それはURLに存在していない場合は、//]を(http://stackoverflow.com/questions/2762061/how-to-add-http -if-its-not-exist-the-url)そうでない場合はjavascriptを使用するか、サーバーサイド言語を指定する必要があります。これはHTMLだけでは処理できません。 –

答えて

1

www.ビットは、人々は、ホストが存在しない場合は、それを付加するために、ほとんどのブラウザの自動補正機能に依存している、まったく特別なものではありません。これを複製するには、データベース内の各ホスト名の解決を試みるプログラムを実行し、失敗した場合はwww.を追加して再試行する必要があります。

http://ビットは簡単です:それは欠落している場合、それを追加します。

+0

ありがとう!私は行く方法かもしれないのではないかと恐れていた。 – blic

0

この状況を処理するには、次の2つの方法があります。

まず、ユーザー入力を検証します。 URLが送信された時点で、必要な要素があることを確認するために、URLを検証します(できればクライアント側でJavascriptを使用します)。または「https://」、および必要に応じてそれを付加:

第二には、あなたのコードでは、あなたは正規表現または文字列が「// HTTP」で始まることを確認するために、マッチングにも単純なパターンを使用することができます。

実装の詳細は、言語から言語に異なりますが、考え方は同じです。

+0

ありがとうございます!私はそれを試みます。 – blic

関連する問題