2016-12-14 45 views
0

私のアンカータグのいくつかに外部URLを設定したいが、URLにhttp/httpsプロトコルがない場合は問題に直面する。 URLは、これらのプロトコルなしである場合には、以下のようになっURL:Laravel外部URLの問題

<a target="_blank" href="www.usatoday.com/"></a> 

私はそれをクリックするか、それにカーソルを合わせると、それが表示され、に私をリダイレクト: http://localhost/event/www.usatoday.com

私はhrefの2つの方法、次の試してみましたしかし、うまくいきませんでした:

{{url($eventSponsorsRow->sponsorUrl)}} 
{{ $eventSponsorsRow->sponsorUrl }} 

hrefのURLの代わりに。 Laravel 5.3

答えて

1

これはHTMLとブラウザのものであり、Laravel/PHP自体ではありません。

URLのプロトコル部分を外部に提供するだけで済みます。

あなたはhttp:をスキップすることができますが、それは次のようにURLの前に少なくとも二重のスラッシュを必要とする:あなたはhttp(s):部分をスキップ場合、それは現在使用されるプロトコルを使用すること、

<a target="_blank" href="//www.usatoday.com/"></a> 

ませんしてください。

+0

あなたは悲しいように働いていましたが、これらの '//'をハードコードすると、ユーザーがこれらのプロトコルでURLを入力すると作業が停止します。それを処理する方法はありますか、それともPHPのように自分で処理する必要がありますか? –

+0

もちろん、 '//'をハードコードするのは悪い考えです。ユーザーからフォームが送信されるときに、url値の検証とフィルタリングを行う必要があります。その時点で、DBにURLを格納する方法に応じてhttp部分を追加/削除する必要があります。 –