2014-07-06 74 views
1

我使用Sanitize宝石来清理HTML https://github.com/rgrove/sanitize,但我想允许一些自定义自关闭标记。当我运行Sanitize.fragment方法时,我使用了一个关闭标签来获取html。例如使用清理宝石的自定义自动关闭标记

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

我想要的输出为"<custom-tag> Text after tag"代替

回答

0

没有办法为Sanitize知道自定义标签的自动关闭。

要么尝试使用<custom-tag />使标签自闭,或者只是gsub出来的结束标记:

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

什么东西像''
标签,不需要后'/'但它仍然有效的HTML? – sguha

+0

@sguha我假设Sanitize足够聪明,知道哪些* real *标签是自闭的,哪些不是。它不知道你是否构成标签。我说:“Sanitize没有办法知道**自定义**标签是自动关闭的”。 – meagar

+0

我想知道是否有一种方法可以引入'Sanitize'用于知道
标记不需要结束标记的机制。 – sguha