如何在MediaWiki中将其他HTML标签列入黑名单



我真的很不喜欢我们wiki上<big>的非语义用法,并希望阻止它。到目前为止,平坦的命令不起作用,所以我正在切换到通过代码来执行......

AFAIK,没有配置开关来控制 HTML 标签的黑名单/白名单。查看源代码,似乎数据来自Sanitizer::getRecognizedTagData(),而工作本身是在Sanitizer::removeHTMLtags()中完成的。但是,我没有看到自己添加到列表中的方法,除了在(InternalParseBeforeSanitizeInternalParseBeforeLinks(之前或之后使用其中一个钩子,并且:

  1. 自己再次调用Sanitizer::removeHTMLtags(),并将要列入黑名单的附加标签作为参数
  2. 自己在文本上搜索以删除所有<big>标签。

第一个是重复工作,第二个是代码重复。有没有更好的方法?你会推荐什么?

无需编码:只需安装 AbuseFilter 并创建一个规则,在保存包含这些标签的页面时发出警告或禁止。

最新更新