我真的很不喜欢我们wiki上<big>
的非语义用法,并希望阻止它。到目前为止,平坦的命令不起作用,所以我正在切换到通过代码来执行......
AFAIK,没有配置开关来控制 HTML 标签的黑名单/白名单。查看源代码,似乎数据来自Sanitizer::getRecognizedTagData()
,而工作本身是在Sanitizer::removeHTMLtags()
中完成的。但是,我没有看到自己添加到列表中的方法,除了在(InternalParseBeforeSanitize
,InternalParseBeforeLinks
(之前或之后使用其中一个钩子,并且:
- 自己再次调用
Sanitizer::removeHTMLtags()
,并将要列入黑名单的附加标签作为参数 - 自己在文本上搜索以删除所有
<big>
标签。
第一个是重复工作,第二个是代码重复。有没有更好的方法?你会推荐什么?
无需编码:只需安装 AbuseFilter 并创建一个规则,在保存包含这些标签的页面时发出警告或禁止。