mediawiki的ParserFunctions设置和使用

概览

ParserFunctions是一系列针对参数的解析器函数,ParserFunction,自mediawiki1.15版本后StringFunctions(已经被整合到)ParserFunction里面,但是还是要做相应的配置。

服务器设置

注意:StringFunctions已经合并到ParserFunction里面了。

  • LocalSettings.php末尾添加如下表达式:
wfLoadExtension( 'ParserFunctions' );
$wgPFEnableStringFunctions = true;
  • 验证
    http:/ip/index.php?title=特殊:版本或者http:/ip/index.php?title=Special:Version
    可以在安装的扩展程序里面找到ParserFunction,在最后面的解析器函数钩里能找到相应的函数

使用

所有的函数和使用方法都能在这里找到。

#explode

#explode 函数将给定的字符串拆分为多个片段,然后返回其中的某个片段。#explode语法如下:

{{#explode:string|delimiter|position|limit}}

  • string:为要解析的字符串
  • delimiter:为以某个字符分割,通常有. / , % |等。
  • position:位置
  • limit:仅在ParserFunctions里面有,在StringFunctions里面没有该参数。限定在position的基础上取多少个。

例子

  • {{#explode:And if you tolerate this| |2}} 返回you
    And if you tolerate this以空格分割,并返回第2个分割后的字符串。(正向计数以0开始,And对应0,if对应1)
  • {{#explode:String/Functions/Code|/|-1}} 返回Code
    String/Functions/Code以/分割,并返回第-1个(反着数)分割后的字符串。(反向计数以-1开始,code对应-1,Functions对应-2)
  • {{#explode:And if you tolerate this| |2|3}} 返回you tolerate this
    And if you tolerate this以空格分割,从第2个(you)开始,连着取3个。
  • {{#explode:{{#explode:{{{title}}}|/|-1}}|.|1}} 返回abc
    假设title=http://www.baidu.com/abc.html,上面的意思为将title以/分割,取abc.html,然后在将abc.html以.分割,取第一个abc。
    这里包含了嵌套使用,传参使用。

参考

https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions/zh
https://www.mediawiki.org/wiki/Extension:ParserFunctions/zh

posted @ 2021-09-08 10:36  骨灰级划水菜鸟  阅读(253)  评论(0编辑  收藏  举报