R Shiny中使用a()函数添加超链接时尾随空格的消除方法
解决R Shiny中超链接与尾随句号间的空格问题
这个空格问题其实是Shiny处理p()函数多参数时的默认行为导致的——当你给p()传入多个独立元素(字符串、标签对象等),它会自动在元素之间添加空格来做分隔,所以才会出现source.org和句号之间的空格。
这里有两种简单的解决方法:
方法一:直接用HTML()构建完整内容
把整个文本(包括链接和句号)写成完整的HTML字符串,用HTML()函数包裹后传入p(),这样Shiny会直接解析这段HTML,不会自动添加分隔空格:
p(HTML("The source of the data is <a href='http://source.org'>source.org</a>."))
方法二:用paste0()拼接后转HTML
如果你还是想保留a()函数的写法,可以用paste0()把字符串、a()生成的链接元素和句号无缝拼接,再用HTML()转成可解析的内容:
p(HTML(paste0("The source of the data is ", a(href = "http://source.org", "source.org"), ".")))
两种方法都能让文本显示成你想要的样子:The source of the data is source.org.,不会有多余的空格啦~
内容的提问来源于stack exchange,提问作者Willy
相关产品推荐
相关产品推荐

