在扩展中使用$wgAjaxExportList
,是否可以获得适当的 wiki 解析器?
到目前为止,我已经尝试了以下内容:
global $wgParser;
$parserOpts = \ParserOptions::newFromContext(\RequestContext::getMain());
$wgParser->startExternalParse(null,$parserOpts,OT_HTML);
$html = $wgParser->internalParse($code);
$html = $wgParser->replaceLinkHolders($html);
$html = $wgParser->replaceTransparentTags($html);
$html = \Sanitizer::normalizeCharReferences($html);
return $html;
但是,这不能正常工作。
现在我知道有一个用于解析 wikicode 的 javascript api:http ://www.mediawiki.org/wiki/API:Parsing_wikitext
但我不希望使用它,因为这意味着我将不得不执行多个 ajax 请求。
有没有更好的方法从扩展中的 ajax 请求解析服务器端的 wiki 文本?