概览
ParserFunctions是一系列针对参数的解析器函数,ParserFunction,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。
这里包含了嵌套使用,传参使用。