r语言 - 在闪亮输出中将换行符替换为 br()



我正在编写一个 Shiny 应用程序,其中显示从数据库加载的文本。在数据库中,可能有这样的文本:

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)
    )
}

最新更新