在 laravel 中生成 url
Posted
技术标签:
【中文标题】在 laravel 中生成 url【英文标题】:Generating url in laravel 【发布时间】:2019-03-10 21:03:53 【问题描述】:我在 Laravel 中的 url 有问题
<td> Website: <a href="url($data[0]->internet)" target="_blank">$data[0]->internet</a></td>
其中internet
是一些网站名称,例如www.foo.com
问题是输出 URL 是 http://localhost/www.foo.com
而不是 http://www.foo.com
【问题讨论】:
target="_blank" ? 我可以从 laravel 文档中看到:The url helper may be used to generate arbitrary URLs for your application. The generated URL will automatically use the scheme (HTTP or HTTPS) and host from the current request:
,那你为什么要使用 url() ?
“在特定公司的新标签中”是什么意思? “试过但没用”是什么意思?设置target="_blank"
是首选方法。如果这对您来说“不起作用”,您可能有一个设置/插件阻止打开新选项卡,或者您正在更改错误的代码。 Inspect element
在浏览器的开发者工具中,并确保 target="_blank"
在那里。
Ooohhook,所以您的问题是公司的 URL 不正确?在新标签页中打开按预期工作?如果是这样,您可能想重新表述您的问题。并使用$data[0]->internet
而不是url($data[0]->internet)
。感谢@D.Dimitrov
抱歉,问题没有正确提出。target="blank" 工作正常,但打开的 URL 不正确。没有 url 助手,它给我的输出为 localhost/foo/bar/www.foo.com
【参考方案1】:
如果您的变量 internet 是某个网站名称,例如 www.foo.com 并且您需要将此网址链接到您不需要的锚标记中 要在 url() 函数中调用这个变量,你可以简单地使用它 用于链接锚标记中的 url 的变量。
如果您想获取网站的基本 URL,则可以使用 url() 返回您网站的基本网址的功能。
只需将下面的行替换为您的代码
<td>
Website:
<a href="$data[0]->internet" target="_blank">$data[0]->internet</a>
</td>
【讨论】:
【参考方案2】:试试这个方法:
<a href="!! $data[0]->internet !!" target="_blank">$data[0]->internet</a>
【讨论】:
【参考方案3】:将您的 html 更改为
<a href=" $data[0]->internet " target="_blank">$data[0]->internet</a>
如 Laravel 文档中所述:https://laravel.com/docs/5.7/urls
url 帮助器可用于为您的 应用。生成的 URL 将自动使用该方案(HTTP 或 HTTPS)和来自当前请求的主机
$post = App\Post::find(1);
echo url("/posts/$post->id");
// http://example.com/posts/1
在您的情况下,您不需要 url 辅助函数。
还可以使用以下格式的 http 或 https 协议: http://www.foo.com 或 https://www.foo.com 制作绝对网址而不是相对网址。
【讨论】:
【参考方案4】:将目标属性target="blank"
更改为target="_blank"
【讨论】:
以上是关于在 laravel 中生成 url的主要内容,如果未能解决你的问题,请参考以下文章