首先,我使用PHP 5.3.5,MySQL 5.5.8和Apache 2.2.17设置MW 1.16和1.17。
我写了一个简单的$ wgExtensionFunction,它现在什么也没做。
$wgExtensionFunctions[] = "wfTestExtension";
function wfTestExtension() { global $wgParser;
$wgParser->setHook("myTag", "renderTest");
}
function renderTest($input) {
return $input;
}
我想要做的是,如果我在添加或编辑表单中键入<myTag>Blah blah blah</myTag>
,我希望能够在将其保存到数据库之前更改myTag中的内容。我应该使用什么机制呢?我假设挂钩?例如,使用ArticleSave钩子,$ text var已经剥离了<myTag>
,因此无法尝试解析字符串并找出最初位于<myTag>
<内的字符串/ p>
我花了好几个小时试图在Google上找到一些东西,但我几乎放弃了。任何建议都将受到高度赞赏。
干杯。
答案 0 :(得分:0)
也许http://www.mediawiki.org/wiki/Manual:Hooks/ParserBeforeStrip可行:
“用于在应用任何内部处理之前处理原始维基代码”
答案 1 :(得分:0)
这是另一个“可能”,但您可以尝试使用模板和{{subst:}}命令的组合(请参阅transclusion)。