Экранирование вывода, но разрешение & lt; p & gt; в Ларавеле

В моем приложении Laravel я позволяю пользователям хранить текст из текстовой области. При выводе текста я хотел бы экранировать текст, извлеченный из БД, а также преобразовать любые разрывы строк из текста в <p> теги. У меня есть функция nl2p() это хорошо работает для этого, но оно избегается, когда я помещаю его в тройные скобки, побеждая цель: {{{ nl2p($bio) }}}

Я пытался сделать что-то вроде этого:

<?php $formatted_bio = {{{ $user->bio }}}; ?>
<h2>{{ nl2p($formatted_bio) }}</h2>

но данные не могут быть отражены в такой переменной. Какие-нибудь креативные решения, которые я мог упустить из виду?

0

Решение

Попробуйте использовать e() вспомогательная функция Laravel обеспечивает. Это в основном то, что Blade называет под капотом, когда вы делаете тройные брекеты.
Итак, у вас будет:

<h2>{{ nl2p(e($user->bio)) }}</h2>
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]