現在LaravelのFormファサードのtextareaにCkeditorを指定して入力できるようにしています。
入力したデータはそのままmysqlに用意したtextarea属性のblog_textカラムに保存されます。
入力したデータは
laravelでデータをひっぱってきたとき、htmlタグがそのまま入力された状態で表示されてしまいます。
入力されるデータ自体にはhtmlのタグはあって欲しいのですが、表示させるときにそれが反映されたデータとして扱えないでしょうか?
こちらでCkeditorを利用しており、この次のコードがFormの全体です。
{{ Form::textarea('blog_text',"", ['id' => 'ckeditor']) }}
フォームを用意しているcreate.blade.php
<div class="card mt-3"> {{ Form::open(['route' => ['admin.blogs.store', [$service->id]], 'method' => 'post', 'file' => true,]) }} @csrf @method('post') {{-- Form --}} {{Form::hidden('service_id', $service->id )}} {{ Form::label('blog_title','ブログタイトル', ['class' => 'form-check-label']) }} {{ Form::text('blog_title',old('blog_title'), ['required' => 'required']) }}<br> {{ Form::textarea('blog_text',"", ['id' => 'ckeditor']) }} {{ Form::file('blog_image_name', ) }} {{ Form::submit('送信', ['class' => 'btn btn-primary']) }} {{ Form::close() }} </div>
表示させたいshow.blade.php
<h3>{{ $blogs->blog_title }}</h3> <div>{{ $blogs->blog_text }}</div>
コントローラでは関する処理を何もしていません。
public function show($id) { $service = Service::findOrFail($id); $blogs = Blog::find($id); $count = Blog::where('service_id', $id)->count(); return view('admin.blogs.show', compact('blogs', 'service', 'count')); }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。