gpt4 book ai didi

laravel - Blade 切断一半绳子

转载 作者:行者123 更新时间:2023-12-02 18:56:47 26 4
gpt4 key购买 nike

我将用户详细信息发送到 View :

    $transformed = new User;
$transformed->firstname = $user->firstname;
$transformed->lastname = $user->lastname;
$transformed->email = $user->email;

return View::make('account.settings', ['user' => $transformed]);

如果我在 View::make 之前执行dd($transformed),那么我会看到一个完整的电子邮件地址,但模板会切断“@”中的所有内容,并且之前:

Should be: parent@parent.com
Is: parent.com

在 Blade 模板中,我有:

{{ $user->email }}

为什么它会切断开始?

这是完整的 View 文件:

@extends('account')

@section('content')

<section class="site-section site-content account-section">
<div class="container">
<h1 class="account-header">Account Settings</h1>
<div class="row">
<div class="col-xs-12 col-md-6">

<form role="form" method="POST" action="/auth/register" class="form-horizontal" autocomplete="off">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<h3>Basic Details</h3>
<div class="form-group">
<div class="col-xs-12">
<label for="register-email">Email address</label>
<input id="register-email" type="text" name="email" class="form-control" autocomplete="off" value="{{ $user->email }}">
</div>
</div>
<div class="form-group">
<div class="col-xs-12">
<label for="register-firstname">First Name</label>
<input id="register-firstname" type="text" name="firstname" class="form-control" autocomplete="off" value="{{ $user->firstname }}">
</div>
</div>
<div class="form-group">
<div class="col-xs-12">
<label for="register-lastname">Last Name</label>
<input id="register-lastname" type="text" name="lastname" class="form-control" autocomplete="off" value="{{ $user->lastname }}">
</div>
</div>
<div class="form-group form-actions">
<div class="col-xs-12">
<button type="submit" class="btn btn-block btn-effect-ripple btn-lg btn-success"><i class="fa fa-plus"></i>&nbsp;&nbsp;Update Details</button>
</div>
</div>

<h3>
</h3>
</form>
</div>
</div>
<!-- END row -->


</div>
</section>

@stop

最佳答案

从评论中可以看出,这是 Laravel 本身的一个错误,因为 @parent@extends 等是 Blade 模板引擎中的保留字。

解决这个问题的一个简单方法是用它的 HTML 实体等效项 (@) 替换 @ 符号。因此,请尝试以下代码片段:

{{ str_replace('@', '&#64;', $user->email) }}

这也可以在 mailto 协议(protocol)链接中使用,如下所示:

<a href="mailto:{{ str_replace('@', '&#64;', $email) }}">
{{str_replace('@', '&#64;', $email)}}
</a>

作为引用,这里是所有 HTML 实体的列表(该列表太长,无法添加到此答案中):http://www.ascii.cl/htmlcodes.htm

关于laravel - Blade 切断一半绳子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28876911/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com