Я установил parsedown (использую laravel 5) для разбора разметки, и когда я его запускаю, он меняет отметку на html, но браузер явно показывает разборную разметку вместо применения этих конкретных стилей, например, когда я запускаю Следующий
{{Parsedown::instance()->text('Hello _Parsedown_!')}}
Я ожидаю, когда запустил его в браузере: Привет, Parsedown!
но вместо этого получаю следующее:
<p>Hello <em>Parsedown</em>!</p>
и когда я просматриваю источник страницы браузеров, я получаю следующее
<p>Hello <em>Parsedown</em>!</p>
В чем может быть проблема?
В laravel 5 или 5.x
{{ }}
будет анализировать HTML для html-объектов. Для выхода из HTML-лезвия предусмотрен способ{!! !!}
. Это приведет к печати html вместо html-объектов.
Итак, ваш ответ будет ниже
{!! Parsedown::instance()->text('Hello _Parsedown_!') !!}
См. ссылку (ниже), взятую из официального сайта laravel.
Отображение необработанных данных
По умолчанию операторы Blade {{ }}
автоматически отправляются через функцию PHP htmlentities для предотвращения атак XSS. Если вы не хотите, чтобы ваши данные были экранированы, вы можете использовать следующий синтаксис:
Hello, {!! $name !!}.