PHP Return HTML (Laravel / 流明框架)

PHP Return HTML (Laravel / Lumen Framework)

我有以下辅助功能

注意我正在使用以下内容来解析内容

https://github.com/erusev/parsedown

function display_docs_page($name){

    // Get Docs URL
    $docs_url = config('docs.docs_url');

    // Get File URL
    $file_url = $docs_url.'/'.$name.'.md';

    // Check If File Exists
    if (file_exists($file_url)) {

        // get raw file data
        $raw_file_data = file_get_contents($file_url);

        // convert data to html
        $parsedown = new Parsedown();

        return $parsedown->text($raw_file_data);

    } else {

        // 404
        return 'not_found';

    }

}

但是当我 运行 我的函数

return view('greeting', [
     'contents' => display_docs_page(config('general.homepage')),
]);

并尝试在 blade

中回显变量 so
{{ $contents }}

我只是 RAW html 代码。所以它显示 html 数据,但它只是浏览器不解释的原始代码。

这是因为默认情况下 laravel 转义了 {{ }} 中的所有内容,您必须使用 {!! $contents !!} 而不是 {{ $contents }}

在 Lumen / Laravel 5 你应该使用 {!! !!} 输出变量而不转义:

{!! $contents !!} 

阅读更多:http://laravel.com/docs/master/upgrade#upgrade-5.0(Blade 标签更改部分)