【问题标题】:How do I customise the HTML Filter from Power-Mezz?如何从 Power-Mezz 自定义 HTML 过滤器?
【发布时间】:2014-04-05 04:04:47
【问题描述】:

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

例如,默认情况下style 属性是允许的,但是我想去掉这个属性:

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

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

【问题讨论】:

    标签: html filter rebol rebol2


    【解决方案1】:

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

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

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

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

    您需要将不希望过滤的内容添加回attribute-map 中的特定html 标记。我复制了原始attribute-map,进行更改,运行filter-html,然后在下一个过滤实例之前恢复到原始状态。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-25
      • 2018-07-31
      • 1970-01-01
      相关资源
      最近更新 更多