2015-05-02 3 views
0

У меня есть вспомогательная функция со следующим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')), 
]); 

и попытаться повторить эту переменную так в лезвии

{{ $contents }} 

Я просто только RAW HTML код. Таким образом, его отображение html-данных, но его просто необработанный код, браузер не интерпретирует его.

rawhtml

ответ

2

В люменов/Laravel 5 следует использовать {!! !!} к выходной переменной без побега:

{!! $contents !!} 

Дополнительная информация: http://laravel.com/docs/master/upgrade#upgrade-5.0 (раздел изменения метки клинка)

+0

Спасибо! Это сработало – kevingilbert100

+0

@ kmgilbert100, пожалуйста! –

+0

Быстрое и эффективное! Он работает хорошо. – brunoramonalmeida

0

Его, потому что по умолчанию Laravel убежали все в {{ }}, вы должны использовать {!! $contents !!} вместо {{ $contents }}