TransWikia.com

Laravel 6 escapando html blade template

Stack Overflow em Português Asked by FernandoSales on December 11, 2021

Estou exibindo notícias cadastradas no banco de dados usando laravel e template blade, so que o html esta sendo escapado, já tentei várias formas mas não consigo resolver.

Meu controller retornando resultado da consulta para o blade:

 return view('public.news', [ 'data' => $news[0] ]); 

E no blade chamo dessa forma:

{{ data.text }}

Mas o html esta sendo escapado, o navegador não interpreta as tags, saindo dessa forma:

<div><p>A Caixa Econômica Federal disponibilizou na terça-feira (7) o site e o aplicativo por meio do qual informais, autônomos, desempregados e MEIs já podem solicitar o auxílio emergencial de R$ 600.</p><p class="content-text__container "> <strong>

Já tentei usar {! data.text !}, {!! data.text !!}, {{ html_entity_decode(data.text) }} … e nada, o blade nem interpreta essas ações, imprime desse jeito mesmo no html, alguém poderia me auxiliar a resolver?

2 Answers

A flag autoescape (aqui) é do template Twig e não do Blade. Por mais que o laravel deixe você usar os dois ao mesmo tempo, isso irá confundir outros desenvolvedores posteriormente aqui.

Não sei ao certo qual versão do Laravel tu está utilizando mas as duas formas corretas seriam:

Para laravel 4 podes usar:

{{ html_entity_decode($content) }}

Para laravel 5+ (aqui) podes usar:

{!! $content !!}

Answered by Bruno Luiz K. on December 11, 2021

Consegui resolver utilizando:

{% autoescape false %} {{ data.text }} {% endautoescape %}

Answered by FernandoSales on December 11, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP