我正在试验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
中的特定 html 标签中。我复制原始attribute-map
,进行更改,运行filter-html
,然后在下一个过滤实例之前恢复到原始状态。