You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 12:Blade布局传递HTML数据显示异常及语法报错求助

问题分析与解决建议

1. 修正@section的赋值逻辑

你当前在@foreach循环内重复定义@section,最终只会保留最后一次循环的赋值结果,这显然不符合预期。

  • 如果是渲染单条新闻,直接去掉@foreach,使用单个数据对象:
@extends('layouts.newslayout')

@section('title', $data->title)
@section('newsimage', $data->image)
@section('newscontent', $data->long)
  • 如果是渲染多条新闻,应该在子视图的section内循环输出,而非循环赋值section:
@extends('layouts.newslayout')

@section('title', '新闻列表')

@section('newscontent')
    @foreach($data as $item)
        <p><blockquote>{!! $item->long !!}</blockquote></p>
    @endforeach
@endsection

2. 解决HTML源码展示的问题

Blade默认会转义HTML内容,要输出原始HTML需使用{!! 内容 !!}语法(你之前用的{! !}是错误语法,导致报错)。两种处理方式:

  • 在定义section时直接处理:
@section('newscontent', {!! $item->long !!})
  • 在布局的@yield位置处理:
<p><blockquote>{!! @yield('newscontent') !!}</blockquote></p>

⚠️ 注意:直接输出未过滤的HTML存在XSS风险,确保$item->long的内容是可信的,或先做HTML过滤处理。

3. 修复布局页的标签闭合问题

你的布局页代码中<blockquote>标签未闭合,会导致HTML结构错误,修正为:

<p><blockquote>@yield('newscontent')</blockquote></p>

内容的提问来源于stack exchange,提问作者user19100

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 23:50:12