2016-12-14 97 views
0

我想在我的一些錨標記中設置外部URL,但在URL沒有http/https協議時遇到問題。當URL是沒有這些協議進行網址變成像下面的:Laravel外部URL問題

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

,當我點擊它或將鼠標懸停在它,它顯示和重定向我: http://localhost/event/www.usatoday.com

我試着按照HREF兩種方式但沒有工作:

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

而不是在href中的URL。 Laravel 5.3

回答

1

這是HTML和瀏覽器的東西,而不是Laravel/PHP本身。

你只需要提供URL的協議部分,使其成爲外部。

可以跳過http:但它需要在URL的面前就像至少雙斜線:

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

請不,如果你跳過http(s):部分將使用當前使用的協議。

+0

它像你一樣傷心,但如果我寫這些'//'硬編碼,那麼如果用戶輸入這些協議的URL,它將停止工作。有沒有辦法處理它,或者我必須像PHP中一樣處理它? –

+0

當然硬編碼「//」是一個壞主意。您應該驗證並過濾來自用戶的url值。此時,您應該添加/刪除http部分,具體取決於您希望如何在您的數據庫中存儲網址。 –