3

我正在尝试使用PowerMezz库中的HTML 过滤器模块,并希望为该函数的特定实例自定义过滤器规则。这可能吗?

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

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

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

4

1 回答 1

3

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

然而,经过一些实验,我发现你可以做一些小的改变来使这样的事情成为可能。大多数属性处理可以通过更改attributes-map块来定制,但内联样式属性不在该块中处理。它们在check-attributes函数中专门处理。

我注释掉了这些行check-attributes,然后导致默认情况下所有样式属性都被删除:

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

您需要将不希望过滤的内容添加到attribute-map. 我复制原始文件attribute-map,进行更改,运行filter-html,然后在下一个过滤实例之前恢复为原始文件。

于 2014-03-06T04:34:47.627 回答