r - 在 Shiny 输出中用 br() 替换换行符
问题描述
我正在编写一个闪亮的应用程序,其中显示从数据库加载的文本。在数据库中,可能有这样的文本:
This is the first line
and this is the second.
我从数据库中加载了这些文本的列表,我想将它们全部显示在自己的框中。我对这些字符串的后端处理或多或少是这样的:
format_text <- function(text) {
shinydashboard::box(text)
}
output$text_ui <- renderUI({
map(text_list, format_text) %>%
tagList()
})
显示时,这不尊重原始字符串中的换行符。整个文本显示在一行上:
This is the first lineand this is the second.
我尝试通过在自定义函数中添加以下步骤来解决此问题:
text <- str_replace_all(text, "(\r|\n)", "<br/>")
这导致以下文本:
This is the first line<br/>and this is the second
这显然也不是我想要的。
现在,我知道我可以使用该shiny::br()
函数创建新行。但是,我正在努力了解如何让它们在字符串中的正确位置工作。
可以在这里找到一个最小的 Shiny 应用程序。
解决方案
啊,解决方案看起来很简单:
format_text <- function(text) {
shinydashboard::box(
HTML(text)
)
}
推荐阅读
- android - Android TextView fromHtml() 如何支持不支持的css样式、文字大小?
- c - 为什么它不应该进入“默认”状态?
- python - 计算前导零
- reactjs - 如何解决名为“ my-app 目录包含可能冲突的文件 (package.json) 的错误?
- signalr - SignalR 无服务器报告进度
- visual-studio - VS 2008 在调试菜单下,“将转储另存为...”选项卡多次出现
- python - 如何一次在 BlogSpot 中上传多篇博客文章?
- python - 更新类变量也会影响已创建的对象
- django - 添加中间模型字段以反转关系
- python - 如何使用此代码检测车牌?