我正在尝试使用PowerMezz库中的HTML 过滤器模块,并希望为该函数的特定实例自定义过滤器规则。这可能吗?
例如,默认情况下该style
属性是允许的,但是我希望删除此属性:
>> filter-html {<p style="color:red">A Para</p>}
== {<p>A Para</p>}
以及限制其他一些允许的标签/属性。
在研究了该filter-html
模块之后,看起来直接的答案是否定的——似乎没有办法更改特定实例的过滤器选项。
然而,经过一些实验,我发现你可以做一些小的改变来使这样的事情成为可能。大多数属性处理可以通过更改attributes-map
块来定制,但内联样式属性不在该块中处理。它们在check-attributes
函数中专门处理。
我注释掉了这些行check-attributes
,然后导致默认情况下所有样式属性都被删除:
if value: select attributes 'style [
append style value
]
您需要将不希望过滤的内容添加到attribute-map
. 我复制原始文件attribute-map
,进行更改,运行filter-html
,然后在下一个过滤实例之前恢复为原始文件。