问题
I have a problem with text in Shiny Dashboard. I would like to save original text formatting, but shiny removes the whitespaces I want to keep.
output$frame <- renderUI({
HTML(paste(
p(strong("Name and Surname:"),(" John Smith"))
)
)
})
tabItem(tabName = "aaa",
h2("bbb"),
fluidRow(
box(width = 6, solidHeader = TRUE, htmlOutput("frame"))
)
),
Unfortunately I get "Name and Surname: John Smith".
I wish to have "Name and Surname: John Smith"
.
How to solve this problem?
回答1:
You can use HTML(' ')
to add 1 whitespace and HTML(' ')
to add 1 tab space. In your code it wold be as follows:
output$frame <- renderUI({
HTML(paste(
p(strong("Name and Surname:"), HTML(' '),HTML(' '),"John Smith")
)
)
})
With this you get two white spaces and output looks like this:
回答2:
I found that we can also use stri_dup(intToUtf8(160), 6)
from package stringi
.
回答3:
I found this oddly difficult to achieve. Just adding the style element to pre-wrap introduced an extra new line:
p(strong("Name and Surname:"),(" John Smith"),style="white-space: pre-wrap")
No other style elements (margin:0, etc) could fix this...so,to get around it, I just converted your strong() to HTML, and it works great:
p(HTML("<b>Name and Surname:</b> John Smith"),style="white-space: pre-wrap")
来源:https://stackoverflow.com/questions/46766411/whitespace-in-r-shiny