【发布时间】:2019-08-08 15:44:03
【问题描述】:
在我的网站上,用户可以共享 URL。
这些在我的数据库中存储为text 类型。
这些链接显示如下:
<a href="{{ $submission->link }}" rel="nofollow">{{$submission->title}}</a>
这样做的问题是,如果检测到 href,blade 会在 URL 前添加域。
所以如果链接是www.google.com它看起来像http://localhost/www.google.com
但是,如果链接是 https://www.google.com,它会正常工作。
我在搜索这个问题时看到的一个解决方案是将//放在href的开头,如下所示:
<a href="//{{ $submission->link }}" rel="nofollow">{{$submission->title}}</a>
这适用于以www. 开头的链接,但如果我使用https://www.google.com,URL 将如下所示:
https//www.google.com
注意缺少:
这个问题最优雅的解决方案是什么?在存储到数据库之前我是否删除了 https?我是否这样做,如果有 https,我照常打印链接,但如果没有 https,我添加 //?
【问题讨论】:
-
你确定blade
{{ $var }}对域/url字符串做了什么? -
使用三元。检查字符串是否包含http。如果是,则回显链接,如果不是,则添加 http/
// -
Blade 没有向您的网址添加任何内容,而是尝试获取完整网址的 href,请参见此处:stackoverflow.com/questions/8764288/…