我正在使用这个插件:
compile ":html-cleaner:0.2"
我想在字符串中保留\n
个字符
def s = "a\nb\nc\n"
println s
打印:
a
b
c
当我使用时:
println cleanHtml(s, 'none')
打印:
a b c
您可以使用以下方式创建白名单:
htmlcleaner {
whitelists = {
whitelist("sample") {
startwith "none"
allow "b", "p", "i", "span"
}
}
}
如何防止\n
字符被剥离?
答案 0 :(得分:1)
免责声明:我并不熟悉Jsoup或html-cleaner插件。
但是,我可以阅读两者的源代码和文档,看起来这对插件来说是不可能的。查看HtmlCleaner的插件源代码,您将看到以下相关行:
return Jsoup.clean(unsafe, whitelists[whitelist])
这是相关的,因为为了在Jsoup中保留新的行字符,您需要在输出设置上设置printPretty(false)
,默认情况下为true
。这个SO question & answer概述了这一点。
看起来你需要直接使用Jsoup而不是使用插件。或者,您可以对插件进行分叉和修补,以允许对其进行配置。