投稿フォームでWYSIWYGエディタ(Quilljs)を使用して作成したデータがHTMLタグを含む形式でDBに保存されています。
view側で
blade.php
1<p>{!!$post->body!!}</p>
でDBからHTMLをエスケープした形で表示されるのですが、ここに表示される文字に制限をかけたいです。
blade.php
1<p class="example-content__txt">{{Str::limit{!!$post->body,24,'...'!!} }}</p>
もちろん上記だとえらーになりました。。。。
blade.php
1<p>{!!$post->body!!}</p>
上記に表示する文字制限をかける事は可能でしょうか?
「上記だとえらーになりました」
エラーメッセージは具体的に
コメントありがとうございます。
<p class="example-content__txt">{{Str::limit{!!$post->body,24,'...'!!} }}</p>
だと、syntax error, unexpected token "?" となりました。
{!! $value !!} だとマニュアルには
「アプリケーションのユーザーによって提供されるコンテンツをエコーするときは十分に注意してください。ユーザーが入力したデータを表示するときはXSS攻撃を防ぐために、通常はエスケープする二重中括弧構文を使用してください。」
とあるので、{{}}を使う方法を模索しています。
{{ Str::limit$post->body,24,'...') }}
PHPのエラーを解消するだけならこれで。
まあ、当然別の問題は生じるけど、それは本題じゃないので割愛
タイトルにも書いております様に、Laravel {!! $value !!} に表示する文字数の制限をかけたい。
であって相談はエラーを解決したいではなかったんですが、、、、、
制限かかるじゃん
Str::limit() してるんだから
ちゃんと読んでます?
表示する文字数の制限 とあるように表示されないと完全では無いんですよね。
コメント頂きありがとうございました。
確かに仕様に穴がありますからね
回答1件
あなたの回答
tips
プレビュー