我有这个标签
<a href="{{ $organization->website }}">Link</a>
如果$ organization-> website是开头包含http://或https://的URL,则该链接将起作用。
但是,如果没有,该链接会将我带到这样的地方
http://localhost/public/www.google.com而不是www.google.com
我知道您可以使用//,这样不带http的链接就可以正常工作
<a href="//{{ $organization->website }}">Link</a>
但是,现在开头不能带有http://或https://的链接。
是否有可以同时使用的解决方案(不带http的URL和带http的URL)?
答案 0 :(得分:0)
您可以用//代替https://,http://或/
喜欢:
'//' . (strpos($url, '//') !== false ? substr($url, strpos($url, '//') + 2) : ltrim($url, '/'))
因此它将是:
<a href="{{ '//' . (strpos($organization->website, '//') !== false ? substr($organization->website, strpos($organization->website, '//') + 2) : ltrim($organization->website, '/')) }}">Link</a>
https://www.google.com,http://www.google.com,//www.google.com、/www.google.com或www.google.com将被转换为//www.google.com,我相信这是您需要什么
答案 1 :(得分:0)
这是我使用OctoberCMS(laravel)在树枝模板中解决问题的方法:
eventen.about_url | slice(0,4)在url变量的开头查找“ http”,如果在该变量中按原样使用该链接,如果没有,则在链接之前添加//。 >
{% if eventen.about_url|slice(0, 4)=='http' %}
<a href="{{eventen.about_url}}" target="_blank">
Link
</a>
{% else %}
<a href="//{{eventen.about_url}}" target="_blank">
Link
</a>
{% endif %}