こんにちは、さるまりんです。
Laravelのbladeでテンプレートで埋め込んだり、埋め込まれたりの機能の@section
や@yield
があります。
こんな感じで使います。
埋め込みたい場所に
@hasSection('h2_text')
<h2>@yield('h2_text')</h2>
と書いて、埋め込みたいものを
@section('h2_text', $h2_text)
とします。
<h2>[$h2_textに入った文字列]</h2>
のように出力されます。
例えば
$h2_text='Starbucks Coffee';
だと
<h2>Starbucks Coffee</h2>
になります。
これが
$h2_text='B&O Espresso';
だと、
<h2>B&O Espresso</h2>
のように$h2_text
の文字列がにHTMLの特殊文字が含まれていると変換されて出力されます。
この&
→ &
の変換をしてほしくないケースもありますよね。
その場合どのようにすればいいか?
@section
を次のように書き方を変えます。
@seciont('h2_text'){!! $h2_text !!}}@endsction
{!! !!}
はblade上で、特殊文字の変換を行わずにそのまま出力するための記法で、それを使って書くことで実現できます。
<h2>B&O Espresso</h2>
ちょっとしたことでもかなり悩んでしまいました。
忘れないようにここの置いておきます。
読んでくださってありがとうございました。
それではまた!