使用Sanitize gem定制自动关闭标签

时间:2014-07-06 16:43:59

标签: ruby-on-rails ruby ruby-on-rails-4 sanitize

我正在使用Sanitize gem来清理HTML https://github.com/rgrove/sanitize,但我想允许一些自定义自关闭标记。当我运行Sanitize.fragment方法时,我得到一个带有close标签的html。 e.g。

Sanitize.fragment("<custom-tag> Text after tag", :elements => ['custom-tag'])
=> "<custom-tag> Text after tag</custom-tag>"

我希望输出为"<custom-tag> Text after tag"而不是

1 个答案:

答案 0 :(得分:0)

Sanitize无法知道自定义标记是否自动关闭。

尝试使用<custom-tag />使代码自动关闭,或者只使用gsub结束标记:

str = Sanitize.fragment("<custom-tag> Text after tag", :elements => ['custom-tag'])
str.gsub(/<\/custom-tag>/,'')