Laravel5で、データベースに保存されているデータ(HTML等の記述あり)を
表示させるとバックスラッシュが付加されており、cssが効かず困っております。
例)<p class="mt_20">ほげほげほげ</p> → 本来、このようになってほしい。
例)<p class="\mt_20\">ほげほげほげ</p> → 現状、バックスラッシュが付加されてレイアウトが崩れます。
制作環境は、
Laravel:5.3
PHPのバージョン:7.1.1
下記にソースを記載させていただきます。
対応方法があれば、ご教授いただけますと幸いです。
【追記】
BlogsController
class BlogsController extends Controller { public function detaill(Blog $blogs) { // ブログデータの複数件を取得 $blogList = Blog::take(40)->orderBy('ID' , 'desc')->get(); // 対象データを取得し、ビューを表示(渡す値を複数で渡す) return view('blogDetaill' , ['blogDatas' => $blogs , 'blogList' => $blogList]); } }
blogDetaill.blade.php
@section('kijiDetails') <!-- blogArea --> <div id="blogArea" class="mt_30 blogNaiyo"> {!!$blogDatas->NAIYO!!} </div> <!-- /blogArea --> @endsection
layoutBlog.blade.php
<!doctype html> <html lang="ja"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>ほげほげ</title> <meta name="viewport" content="width=1650"> </head> <body> <div id="wrapper"> <!-- ▼▼ mainCntArea ▼▼ --> <div id="mainCntArea"> <div id="contensArea"> <div id="topPageArea"> <section id="topLayout"> <!-- mainImgArea --> <article id="mainImgArea"> <h2><img src="img/logo_l.png" width="1000" height="90" alt="ほげほげ"></h2> </article> <!-- /mainImgArea --> <!-- pregArea_01 --> <article class="pregArea_01"> @yield('kijiDetails') </article> <!-- pregArea_01 --> </section> </div> </div> </div> <!-- ▲▲ mainCntArea ▲▲ --> </div> <link rel="stylesheet" type="text/css" href="{{ asset('/css/include.css') }}" media="screen,print" /> <script type="text/javascript" src="{{ asset('/js/include.js') }}" charset="utf-8"></script> </body> </html>
状況としては、Bladeファイルで、<p class="{{$test}}">test</p> 等と表示した場合でしょうか?具体的なコード(どのようなデータをどこで出力か)を記載するとより適切な回答を得やすいかと思います。
ご指摘ありがとうございます。追記いたしました。
コントローラー側でビュープロパティセットをどのようにしているかコードサンプルを公開してほしいです。
追記した内容が実際にどのように表示されているかを追記してください。例ではpなのに実際はdivだったり、mt_20だったりmt_10だったりでどの値を信じていいのかわかりません。一番確認したいことはバックスラッシュの位置です。おそらく"\mt_20\"ではなく、\"mt_20\"ではないですか?
すいません、ご指摘どおり、\"mt_20\"の間違いでした。ソースを公開いたしました。
blogDetail.blade.phpで@sectionを使っているということは、親となるbladeファイルも存在しますよね?それの記載と、あと最終的にHTMLがどうなっているかも記載が必要かと思います。
そもそもDBのデータ格納時点で何かしらのエスケープ処理がされているかもしれませんが、取得するDBデータはどのようになっているかも記載すると原因究明に近づけるかと思います。
回答1件
あなたの回答
tips
プレビュー