Mediawiki 擴展標籤
跳至導覽
跳至搜尋
原理解說
一、設定
於 extension.json 中設定以下的勾子(hooks):
...
"Hooks": {
"ParserFirstCallInit": "ExampleExtension::onParserFirstCallInit"
},
...新增程式:
<?php
class ExampleExtension {
// 註冊實體化回傳外掛
public static function onParserFirstCallInit( Parser $parser ) {
// 當解析器看到<sample>標記時,它會執行renderTagSample(見下文)
$parser->setHook( 'sample', [ self::class, 'renderTagSample' ] );
}
// 實體化 <sample> 的函式定義
public static function renderTagSample( $input, array $args, Parser $parser, PPFrame $frame ) {
// 在本例中這個函數只是將用戶輸入中的轉義字符解析為原來的樣子並再次輸出它
return htmlspecialchars( $input );
}
}
...