HTML::link 没有指向正确的网站

  • 本文关键字:网站 link HTML php laravel-5
  • 更新时间 :
  • 英文 :


我有这个:

{!! HTML::link($item->website, $item->website) !!}

$item->website是用户插入的网站。但是,如果用户插入类似www.mysite.com的内容,则结果为localhost:8000/www.mysite.com如果在数据库中,我把http://放在网站前面,我会得到正确的结果。除了HTML::link,还有其他方法可以正确显示链接吗?

谢谢。

您必须将完整的URL传递给HTML::link((;方法,否则Laravel将自动在URL前添加您的本地网站根。在您的情况下,您必须将http://添加到变量中,并将整个URL传递给方法link((;

检查此链接;(http://laravel-recipes.com/recipes/186/generating-a-html-link

HTML::link()期望第一个参数是当前站点中的相对路径,或者是完全限定的域名。您需要检查$item->website是否以"http"开头,如果不是,则将其前置到字符串中。

<?php $prepend = (strpos($this->website, "http") === 0) ? "" : "http://"; ?>
{!! HTML::link($prepend.$this->website, $this->website) !!}

请注意,我正在检查"http"而不是"http://"。这使得"https"网站也能正常工作。

Url必须以"http://"开头。如果用户输入不是从它开始的,那么您必须添加。

最新更新