I have a user-input text displayed on one of the pages. I want to allow new lines, though. How do I display the text, so it is escaped AND allows new lines?

I used nl2br() and Blade's tripple brackets {{{$text}}}, however, obviously, the tripple brackets escape <br/> tags as well.

Is there a way to combine escaping and HTML's new lines using Blade?

Thanks.

推荐答案

您可以先使用e()进行转义,然后应用nl2br():

{{ nl2br(e($text)) }}

e() is the function Blade uses when compiling triple brackets

Laravel相关问答推荐

laravel错误更新使用外键的数据库

未将Laravel Blade属性传递给组件或类

在Vite list 中找不到文件:Resources/scss/hrms.scss.如何使用LARAVEL VITE解决这个问题?

找不到 Laravel 5 类日志(log)

如何使用 Laravel 查询生成器在 WHERE 条件周围添加括号

Laravel 如何处理来自浏览器的 PUT 请求?

Laravel 5.1 如何在Blade 文件上使用 {{ old('') }} 助手进行无线电输入

Laravel whereDoesntHave() - 多个 OR 条件

这个上下文的流程应该是怎样的? (根据 Select 的付款方式,将处理付款的代码放在哪里?)

导入文件时如何跳过第一行

如何在 Laravel 中实现自己的 Faker 提供程序

向 Docker 上的 Artisan 推荐方式

Laravel 控制器构造

Laravel 初学者的良好开端

在 Laravel 中将 Eloquent 导出到 Excel 时如何包含列标题?

日期时间格式无效:1366 字符串值不正确

Laravel 删除集合中的第一项

开发中的 Laravel 和视图缓存 - 无法立即看到更改

Laravel 4 控制器模板/Blade - 正确的方法?

限制自己重载外部 API 的速率