Заменить перевод строки на br () в выводе Shiny - PullRequest
1 голос
/ 12 апреля 2019

Я пишу блестящее приложение, в котором я отображаю текст, загруженный из базы данных.В базе данных могут быть тексты, подобные следующим:

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().Однако я изо всех сил пытаюсь понять, как заставить их работать в нужных точках строки.

Минимальное блестящее приложение, с которым можно поиграться, можно найти здесь .

1 Ответ

1 голос
/ 12 апреля 2019

Ах, решение оказывается обманчиво простым:

format_text <- function(text) {
    shinydashboard::box(
       HTML(text)
    )
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...