2014-07-06 71 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