【问题标题】:How to use @{{ }} without escaping the braces in blade?如何在不转义刀片中的大括号的情况下使用@{{}}?
【发布时间】:2020-10-21 02:06:47
【问题描述】:

我有类似example.com/@username 这样的用户个人资料路线。所以现在我想说这样的话:

<a href="/@{{ $user->name }}">Go to {{ $user->name }} profile</a>

但这实际上逃脱了href 属性中的{{ $user-&gt;name }}(如in the documentation 所说),所以这实际上会将我重定向到example.com/{{ $user-&gt;name }}

当然,我可以使用像@&lt;?= $user-&gt;name; ?&gt; 这样的纯php 方式或任何其他方式。但是我想用laravel的花括号{{ }}

有可能吗?

【问题讨论】:

    标签: laravel laravel-blade


    【解决方案1】:

    试试这个

    <a href="{{ url('/@'.$user->name) }}">Go to {{ $user->name }} profile</a>
    

    【讨论】:

    • 你不需要/ fyi url('@'.$user-&gt;name) 会在那里做同样的工作:-)
    【解决方案2】:

    解决此问题的唯一方法是使用上述答案。它将使用刀片的{{ }}

    但是,我推荐另一种(半)方法。您可以为User 模型(在我的情况下)创建一个方法,如下所示:

    class User {
       public function handle()
        {
            return '@' . $this->username;
        }
    }
    

    那么你可以使用:

    <a href="/{{ $user->handle }}">Go to {{ $user->name }} profile</a>
    

    正如我所说,这不是一个通用的解决方案。但它适用于我的情况。如果您想要更通用的解决方案,请参考上面的答案。

    【讨论】:

      猜你喜欢
      • 2018-07-01
      • 2020-11-20
      • 2016-01-05
      • 1970-01-01
      • 2019-09-08
      • 1970-01-01
      • 2019-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多