Laravel 在 Blade Template 中转义所有 HTML

2022-08-30 08:31:32

我正在Laravel中构建一个小型CMS,我试图显示内容(存储在数据库中)。它显示 HTML 标记,而不是执行它们。就像所有打印数据都有一个自动html_entity_decode。

<?php

class CmsController extends BaseController
{
    public function Content($name)
    {    
        $data = Pages::where('CID', '=', Config::get('company.CID'))
            ->where('page_name', '=', $name)
            ->first();

        return View::make('cms.page')->with('content', $data);
    }
}

我尝试使用大括号打印内容。

{{ $content->page_desc }}

和三重大括号。

{{{ $content->page_desc }}}

他们给出了同样的结果。我需要执行这些HTML标签,而不是转义它们。


答案 1

将语法从 更改为 。{{ }}{!! !!}

正如The Alpha在上面的评论中所说(不是答案,所以我想我会发布),在Laravel 5中,(以前未转义的输出语法)已更改为。替换为,它应该可以正常工作。{{ }}{!! !!}{{ }}{!! !!}


答案 2

使用此标记{!! description text !!}


推荐