代码之家  ›  专栏  ›  技术社区  ›  rgchris

如何从Power Mezz自定义HTML筛选器?

  •  3
  • rgchris  · 技术社区  · 10 年前

    我正在试验 HTML Filter 模块 PowerMezz 库,并希望为函数的特定实例定制过滤规则。这可能吗?

    例如,默认情况下 style 属性是允许的,但我希望删除此属性:

    >> filter-html {<p style="color:red">A Para</p>}
    == {<p>A Para</p>}
    

    以及限制一些其他允许的标记/属性。

    1 回复  |  直到 10 年前
        1
  •  3
  •   Jamie    10 年前

    在研究了 filter-html 模块,看起来立即的答案是否定的——似乎没有办法更改特定实例的过滤器选项。

    然而,经过一些实验后,我发现你可以做一些小的改变,使类似的事情成为可能。大多数属性处理都可以通过更改 attributes-map 块,但该块中不处理内联样式属性。这些问题在 check-attributes 作用

    我在 检查属性 这将导致默认情况下删除所有样式属性:

    if value: select attributes 'style [
            append style value
    ]
    

    您需要将不希望过滤的内容添加回 attribute-map .我复制了原件 属性映射 ,进行更改,运行 过滤器html ,然后在下一个过滤实例之前恢复到原始状态。

    推荐文章