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

如何在Laravel Blade中让HTML内容嵌套在<p>标签内?

问题分析与解决方案

首先明确核心问题:HTML规范里<p>标签不能包含<h1>这类块级元素,浏览器遇到<p>内的块级标签时会自动提前闭合外层<p>,这就是你看到外层<p>空着、内容跑出去的原因,和Blade写法无关。

可行解决办法

1. 改用<div>做外层容器(推荐,符合HTML规范)

把你的Blade代码修改为:

<div>{!! $description !!}</div>

<div>可以合法包含任何块级/内联元素,所有内容都会被正常包裹,不会出现浏览器自动拆分的情况。

2. 强制用<p>包裹(不推荐,会丢失原格式)

如果一定要用<p>,需要先清除$description里的所有HTML标签,再处理换行:

<p>{!! nl2br(strip_tags($description)) !!}</p>

但这样原有的<h1>等格式会被清除,最终只保留纯文本段落。

你之前尝试的html_entity_decode是处理HTML实体转义的,nl2br仅负责转换换行,都解决不了块级元素不能放入<p>内的核心问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 16:34:52