Laravel外部URL问题

时间:2016-12-14 12:06:29

标签: php laravel-5.3 laravel-blade

我想在我的一些锚标签中设置外部URL,但是当URL没有http / https协议时会遇到问题。当URL没有这些协议时,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

2 个答案:

答案 0 :(得分:2)

这是HTML和浏览器的东西,而不是Laravel / PHP本身。

您只需提供网址的协议部分即可将其设为外部。

您可以跳过http:,但在网址前至少需要双斜杠,如:

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

请注意,如果您跳过http(s):部分,它将使用当前使用的协议。

答案 1 :(得分:1)

您需要将http://添加到网址

如果您想使用 {{url($ eventSponsorsRow-&gt; sponsorUrl)}} ,请确保在插入数据库时​​,它以http://为基础预先添加

Image img = Image.FromFile(@"images\dcw.png"); int picBoxIndex = tabPanl.Controls.GetChildIndex(picBox1x1); Graphics g = tabPanl.Controls[picBoxIndex].CreateGraphics(); g.DrawImage(img, new Rectangle(0, 0, 50, 50), new Rectangle(img.Width / 2 - 25, img.Height / 2 - 25, 50, 50), GraphicsUnit.Pixel);

如果您不想这样做,则需要使用从数据库获取的URL创建变量并添加http://

Image img = Image.FromFile(@"images\dcw.png"); Graphics g = picBox1x1.CreateGraphics(); g.DrawImage(img, new Rectangle(0, 0, 50, 50), new Rectangle(img.Width / 2 - 25, img.Height / 2 - 25, 50, 50), GraphicsUnit.Pixel); 并在正确的位置调用$ newvariable

<a target="_blank" href="{{ url($eventSponsorsRow->sponsorUrl) }}"></a>

https://laracasts.com/discuss/channels/laravel/laravel-blade-external-url-link-reading-url-from-database