Flash 消息中不能直接放入 html。但是,您可以利用引导警报类生成非常相似的结果。在 Blade 中,它会是这样的(您的消息将包括您的 html):
@if (session('message')
<div class="alert alert-info">
<a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
{{ session('message') }}
</div>
@endif
在 Blade Template 文件中输出消息时,你必须这样做
session('session.key.with.html')
这样 Laravel 就不会自动转义 html 标签。
我这样做:
在控制器中
redirect()->back()->with('warning', Str::of('Go to <a href="/some-page-link" class="link-info">some page</a>')->toHtmlString());
在视野中
@if (session()->has('warning'))
<div class="alert bg-warning-subtle alert-dismissible d-flex align-items-center fade show">
<i class="bi bi-exclamation-triangle-fill text-warning fs-3 me-3 lh-1"></i>
<h6 class="mb-1 text-warning">{{ session('warning') }}</h6>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>
@endif