Grails - html-cleaner插件

时间:2014-04-21 09:30:10

标签: grails jsoup

我正在使用这个插件:

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字符被剥离?

1 个答案:

答案 0 :(得分:1)

免责声明:我并不熟悉Jsoup或html-cleaner插件。

但是,我可以阅读两者的源代码和文档,看起来这对插件来说是不可能的。查看HtmlCleaner的插件源代码,您将看到以下相关行:

return Jsoup.clean(unsafe, whitelists[whitelist])

这是相关的,因为为了在Jsoup中保留新的行字符,您需要在输出设置上设置printPretty(false),默认情况下为true。这个SO question & answer概述了这一点。

看起来你需要直接使用Jsoup而不是使用插件。或者,您可以对插件进行分叉和修补,以允许对其进行配置。