当前位置: 首页 > 知识库问答 >
问题:

Laravel Blade:HTML标记未在我的Blade文件中呈现

糜正业
2023-03-14

所以我在表单中有一个所见即所得的字段,在检索数据时,html标签没有正确呈现。超文本标记语言标记仍然显示在窗体中。我在这里尝试了一些解决方案,我也相信这是解析laravel刀片中超文本标记语言标签的最佳方式。我也尝试过这样做:

{!! nl2br(e($test)) !!}

但它仍然失败了。显示的数据仍然是原始数据。

数据

<p><strong>Lorem</strong> ipsum dolor asdjfgjasfgbjgj gjbhgjgjgjkghkj; lkfakj ;ljljfl sdfadfasfd asera

刃锉

@php
    $rules = $room['house_rules'];
@endphp
<div class="form-group">
    <textarea id="house_rules" name="house_rules" class="form-control" rows="4" disabled>{!! $rules !!} </textarea>
</div>

更新

DD数据

我是否遗漏了导致html无法正确呈现的内容?


共有3个答案

龙昊焱
2023-03-14

您可能需要对数据应用html_entity_decode以显示解码后的数据。

{!!html_entity_decode($item->body)!!}
孟文栋
2023-03-14

这是因为您有{!!nl2br(e($test)) {!!!!}blade标记,它显示了嵌套的数据,这意味着HTML仍然存在。要转义这些HTML标记,请使用{{}

默认情况下,Blade{{}语句通过PHP的htmlentities函数自动发送,以防止XSS攻击。如果不希望转义数据,可以使用{!!!!}。

您可以在官方的Laravel文档中找到更多关于这方面的信息。

明利
2023-03-14

当您通过e()方法运行代码时,标记将更改为html命名代码。例如,

我想说的是,您最好的选择是呈现未经scaped的html{!!$test!!} 。然而,在这种情况下,您应该在保存到数据库之前(或者在发送到blade进行渲染之前)净化有害的标记。你可以有一个中间件来过滤有害的标签

 类似资料:
  • 我第一次接触JSF和JSF标记。xhtml不工作。我的网络。xml文件包含以下代码 我faces.config文件里的代码是 我已经尝试了很多选项,比如将URL映射更改为/faces/*和在Web INF/Lib中包含JAR,但没有用。。。正在寻求帮助。。。。谢谢

  • 我正在使用D3JS库来显示地图。加载美国各州地图可以正常工作,但如果我尝试加载单个州的县地图,则无法正常工作。我在所有州使用的文件位于https://raw.githubusercontent.com/d3/d3.github.com/master/us-10m.v1.json.我当前使用的状态映射是https://raw.githubusercontent.com/deldersveld/top

  • 问题内容: 我正在开始一个JSF项目(这是我第一次使用JSF),并且在呈现标签方面遇到问题。我正在Eclipse中进行开发,并将TomCat用作服务器。 我的login.jsp文件:https : //gist.github.com/code-curve/e7e557262d407dddd1f3 我的web.xml文件:https : //gist.github.com/code-curve/52

  • 我正试图从SQL Server导出一些数据作为HTML文件,但Internet explore将这些文件呈现得非常好,尽管chrome显示特殊字符。

  • Blade 基于 Java8 开发,为个人开发者打造的轻量级 MVC 框架, 你只需要创建普通的 Maven 工程即可完成一个简单的应用。

  • 在我的React17.0.1 SPA翻译应用程序中,我有一个包含两个部分的页面。顶部用于输入,底部用于该输入的翻译。我在为该页面使用单个上下文/状态时遇到过问题,因为翻译是由远程API执行的,当它返回时,如果不更新输入部分并将其重置为调用翻译API时所保持的值,我就无法更新UI。 因此,我将页面分成两个上下文,一个用于输入,一个用于翻译。到目前为止还好。翻译的渲染是我第一次做的。但是,尽管翻译上下