【问题标题】:Custom self-closing tags using Sanitize gem使用 Sanitize gem 自定义自闭合标签
【发布时间】:2014-07-06 16:43:58
【问题描述】:

我正在使用 Sanitize gem 来清理 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>"

我希望输出改为"&lt;custom-tag&gt; Text after tag"

【问题讨论】:

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


    【解决方案1】:

    Sanitize 无法知道自定义标签是自动关闭的。

    要么尝试使用&lt;custom-tag /&gt; 使标签自动关闭,要么只使用gsub 关闭标签:

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

    【讨论】:

    • &lt;br&gt; 标签这样不需要尾随/,但它仍然有效的HTML 怎么样?
    • @sguha 我认为 Sanitize 足够聪明,可以知道哪些 real 标签是自动关闭的,哪些不是。它不知道你是否编造了标签。我说:“Sanitize 无法知道 custom 标签是自动关闭的”。
    • 我想知道是否有办法利用Sanitize 用来知道
      标签不需要结束标签的机制。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-26
    • 2017-02-10
    相关资源
    最近更新 更多