社区文档构建进行中,欢迎编辑。社区答疑群(非官方):717421103,点点小课堂(腾讯会议):5696651544
帮助:解析函数
本页旨在介绍BWIKI支持的解析函数,针对平台特性和中文环境提供简单易懂的说明和用例。本页部分内容参考了东方WIKI[1]。
解析函数(Parser function)是一种魔术字(Magic word),它动态地处理数据和逻辑,能根据不同的输入和条件,输出不同内容。如条件判断、数学计算、字符串处理和时间处理等等。 用户能用它自由的实现各种功能,如编写能自动更新的内容、简化复杂结构的实现或设计灵活强大的模板。
BWIKI支持192个解析函数,它们来自Mediawiki和第三方扩展。特殊:版本页面列出了所有扩展及其版本,点击扩展名可以访问扩展主页和文档(部分BWIKI开发/魔改的扩展可能无法找到文档,请参考本页)。特殊:版本页面还列出了软件版本、支持的解析函数和扩展标签等等信息。
解析函数的基本格式:
- {{#函数名:参数1|参数2|...|参数n}}
- 或
- {{函数名:参数1|参数2|...|参数n}}
其中
- {{ 和 }} 表明这是一个模板或魔术字。
- #表明这是一个解析函数
- 函数名是解析函数的名称
- 参数1、参数2、参数n是传递给解析函数的参数。多个参数由管道符(竖线) | 分割。参数是wikitext,可以包含模板或解析函数等等。Wiki解析器会优先运算、展开参数中的代码(wikitext),这与数学公式中的括号相似,从内到外逐级展开。
注意:
- 参数1必定会自动被展开,传入解析函数的是展开结果。在参数1中使用nowiki标签很可能导致非预期行为,尽量避免。
- 所有参数都会被trim(移除头尾的空白字符,如空格和换行)后传入解析函数。因此如需传入空白字符需要用nowiki标签包裹参数。比如空格<nowiki> </nowiki>
- 适当的空格和换行能显著提升代码可读性、可理解性和和可维护性。
- 不能直接使用管道符|,因为这被用于分隔两个参数。因此,要用管道符就需要通过其他函数或模板提供如“{{!}}”。
- 部分函数对缺少参数和提供空白参数的行为不一致,比如regex。
- 字符和对应的HTML实体(如<)受到的处理可能不一致。需要注意函数是否解码输入或编码输出。
A
anchorencode
将文本转换为HTML锚点格式(URL井号后的部分),确保其安全且符合Web标准。
为页面链接动态添加锚点时,它能确保锚点被正确编码。
语法
{{anchorencode:文本}}
例子
- {{anchorencode:<h2>1 z á 元</h2>}} → 1_z_á_元
- {{anchorencode:a:b/c d e}} → a:b/c_d_e
- 注意与urlencode不同{{urlencode:a:b/c d e}} → a%3Ab%2Fc+d+e
- {{anchorencode:[[User:23333|诶嘿]]}} → 诶嘿
- {{anchorencode:[[Wiki:Skyrim#Section]]}} → Wiki:Skyrim#Section
- {{anchorencode:[https://wiki.biligame.com BWIKI]}} → BWIKI
- {{anchorencode:我“以前”跟你一样是一个冒险者}} → 我“以前”跟你一样是一个冒险者
- {{anchorencode: ©B Wi _ __ _ Ki}} → ©B_Wi_Ki
- {{anchorencode:ISBN}} →
ISBN
- {{anchorencode:ISBN RFC \n PMID <}} →
ISBN___RFC_\n_PMID_<
相关概念
- 锚点,URL井号后的部分,代表一个网页上的位置。
- Wiki会自动为标题增加相同名字的锚点,也可以通过指定标签的id属性来设置标识符。比如:
- 指定ID:
<span id="diandian">...</span>
- 标题:
==hello lu==
生成的HTML是:<h2><span class="mw-headline" id="hello_lu">hello lu</span></h2>
- 标题:
==点点小课堂==
生成的HTML是:<h2><span id="..."></span><span class="mw-headline" id="点点小课堂">点点小课堂</span></h2>
- 指定ID:
- 一个带有锚点的URL能让页面滚动到指定位置。在打开的页面中修改URL锚点可以滚动页面到新位置,不重新加载页面。
- 基于此,锚点常被用于精确控制页面跳转,比如使用
[[#章节名]]
、[[页面#章节名]]
可以滚动页面到指定章节,或跳转其他页面的指定章节- 文档
底层代码
/** MediaWiki 1.37.0 CoreParserFunctions.php
* @param Parser $parser
* @param string $text.
* @return string
*/
public static function anchorencode( $parser, $text ) {
$text = $parser->killMarkers( $text );
$section = (string)substr( $parser->guessSectionNameFromWikiText( $text ), 1 );
return Sanitizer::safeEncodeAttribute( $section );
}
代码逻辑:
- 移除任何MediaWiki标记或特殊语法,确保后续处理只关注纯文本内容。
- 保留锚点部分,移除、转换特定字符(移除HTML标签、移除粗体斜体的英文引号、清理链接; 合并多个空格、下划线为一个空格; 将字符引用如  A等转换为 UTF-8 字符串)
- 安全编码为锚点格式。包括调用PHP的htmlspecialchars函数,此外,还替换了\n \r \t < > " { } [ ] '' ISBN RFC PMID | 和 __ 为字符引用
实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:Iconbox - 都市天际线2
- 模板:神器图鉴模板 - 第七史诗
- Wiki笔记 - 方块方舟(PixARK)
- 方块方舟WIKI编辑小知识 - 方块方舟(PixARK)
- 模板:A - 偶像大师灰姑娘女孩
- 模板:Anchor - 女神转生
- 模板:To Megami Tensei Wiki - 女神转生
- 模板:A - 重返未来:1999
- 模板:Anchor - 上古卷轴5天际
- 模板:HE - 上古卷轴5天际
- 模板:Factionnav - 星际迷航OL
- 模板:SectionTabs - 战双帕弥什
arraydefine
定义临时存储数据的数组,以便后续使用。出自扩展 Arrays BWIKI和各大Wiki平台广泛使用此扩展。<br>在遥远的未来,它可能与Mediawiki新的并行解析器不兼容,请参阅扩展主页了解更多信息。。
此函数需要输入数据字符串和分隔符,用分隔符切分字符串来构造数组。当然,数据字符串可以是固定值,也可以来自模板或SMW查询结果。
基于数组,用户能便捷的构造表格、列表和图鉴等各类重复性结构。
- 格式
{{#arraydefine: 数组名 | 数据字符串 }}
{{#arraydefine: 数组名 | 数据字符串 | 分隔符 }}
- 分隔符:默认逗号“,”,支持正则表达式。
{{#arraydefine: 数组名 | 数据字符串 | 分隔符 | 选项 }}
- 选项 (可选) 是一个匿名字符串参数,支持unique、sort、print。
- 多个选项参数以英文逗号分隔,即“键=值, 键=值”,例如:“sort=desc, print=list”、“unique, print=list”
- unique:去重
- sort:排序,支持 none(默认),desc,asce/asc,random,reverse
- none - 不排序(默认)
- desc - 降序(参见 https://php.net/function.sort )
- asce/asc - 升序(参见 https://php.net/function.rsort )
- random - 随机(参见 https://php.net/function.array-rand )
- reverse - 倒序(参见 https://php.net/function.array-reverse )
- print 输出格式: list 或 pretty
- list: a、b、c
- pretty: a、c和c
- 例子
{{#arraydefine:a|red}}
→ 定义数组a,只有1个元素:red{{#arraydefine:b|orange,red ,yellow, yellow}}
→ 定义数组b,有4个元素(分隔符没有指定,默认为逗号):orange、red、yellow、yellow{{#arraydefine:c}}
→ 定义空数组c:{{#arraydefine:d|apple, pear; orange|/\s*[;,]\s*/}}
→ 定义数组d,分隔符是正则表达式。d有3个元素:apple、pear、orange{{#arraydefine:e|orange,red ,yellow, yellow|,|unique,sort=desc, print=list}}
→ 定义数组e,以“,”为分隔符,数组元素去重,降序排列,并作为列表输出:yellow、red、orange
- 代码
- 代码虽长,但行为简单。
- 用分隔符(delimiter)分割数据字符串(value)。如分隔符为空则不分割,数组将只包含一个元素。
- 如有选项 unique,去重
- 如有选项 sort,按指定方式排序
- 如有选项 print,按指定格式输出
- 存储。按照指定数组名(忽略头尾空格)存储数组到变量中
- 还支持选项singleempty。当数组仅有一个值,且为空字符串时,此选项能保留它(否则空字符串将被过滤,仅保留空数组)
arraydiff
计算数组差集。出自扩展Arrays。
多个数组的差集,就是从第一个数组中去除所有存在于其他数组中的元素,得到的结果数组。参见:PHP array_diff 函数MediaWiki和Arrays扩展使用PHP语言开发,因此其底层行为取决于PHP的特性。
例如对集合 [math]\displaystyle{ A }[/math]、[math]\displaystyle{ B }[/math] 和 [math]\displaystyle{ C }[/math],差集可以表示为 [math]\displaystyle{ A - B - C }[/math],即从[math]\displaystyle{ A }[/math] 中去除存在于 [math]\displaystyle{ B }[/math] 和 [math]\displaystyle{ C }[/math] 中的元素。
- 格式
{{#arraydiff: 结果数组名 | 数组1 | 数组2 | ... | 数组N }}
- 例子
- 先定义数组:
{{#arraydefine:a|2,1,1,3,blue,apple,apple}}{{#arraydefine:b|2,2,blue}}{{#arraydefine:c|3,blue}}
- [math]\displaystyle{ A - B }[/math] :
{{#arraydiff:x | a | b }}
→ 1、1、3、apple、apple - [math]\displaystyle{ A - C }[/math] :
{{#arraydiff:x | a | c }}
→ 2、1、1、apple、apple - [math]\displaystyle{ A - B - C }[/math] :
{{#arraydiff:x | a | b | c }}
→ 1、1、apple、apple - [math]\displaystyle{ A - C - B }[/math] :
{{#arraydiff:x | a | c | b }}
→ 1、1、apple、apple
- 底层代码
- 代码包含了三个函数。其中函数
multiArrayOperation
会从给出的第一个数组(array_1)开始,逐一调用multi_arraydiff( array_1, array_i )
。就是将首个数组逐一与其他数组求差集。 - 函数multi_arraydiff中调用了PHP array_diff 函数。两个元素只有在
(string) $elem1 === (string) $elem2
时视为一致。 即对PHP语言的字符串转换表达相同。
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
arrayindex
按指定序号,输出数组指定位置的值。出自扩展 Arrays BWIKI和各大Wiki平台广泛使用此扩展。<br>在遥远的未来,它可能与Mediawiki新的并行解析器不兼容,请参阅扩展主页了解更多信息。。
- 语法
{{#arrayindex: 数组名 | 序号 | 默认值 }}
- 说明
- 序号是数字,从0开始(首个元素序号为0),负数用于从后向前定位(-1代表最后一个元素)
- 如果数组名或序号无效,函数将输出默认值。如果没有默认值,函数将返回空字符串。
- 数组名无效是指不存在该数组。如在定义数组前使用它的值。
- 序号无效是指,找不到对应位置的值。可能是序号非数字,或越界(超过实际数据范围)
- 例子
{{#arrayindex:a |2 }}
→ a数组的第3个元素{{#arrayindex:b |-1 }}
→ b数组的最后一个元素{{#arrayindex:c |foo |bad value }}
→ 因为序号无效,输出默认返回值- 底层代码
- 输入参数会先展开wikitext(如展开模板、执行解析函数);
- 函数会尝试返回数组中指定位置的值,如没有则返回默认值。如果没有设置默认值,就返回空字符串。
- 其中
$egArraysCompatibilityMode
始终为 False, 因此代码逻辑非常简单;
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:快速数量 - 突击莉莉终结之弹
- 模板:单明星语音 - 零号任务
- 模板:加工建筑 - 冲呀!饼干人王国
- 模板:饼干列表 - 冲呀!饼干人王国
- 模板:BOSS模板 - 克鲁赛德战记
- 秘闻 - Deemo II
- 模板:公式 - 戴森球计划
arrayintersect
返回多个数组的交集。出自扩展 Arrays BWIKI和各大Wiki平台广泛使用此扩展。<br>在遥远的未来,它可能与Mediawiki新的并行解析器不兼容,请参阅扩展主页了解更多信息。。
两个集合[math]\displaystyle{ A }[/math]、[math]\displaystyle{ B }[/math]的交集,指[math]\displaystyle{ x \in A }[/math] 且 [math]\displaystyle{ x \in B }[/math]。
结果数组可能包含重复值,其元素顺序与第一个数组相同;从结果看,可以视为从第一个集合中移除所有其他集合都不存在的元素。
- 格式
{{#arrayintersect:新数组名 | 数组1 |数组2 |... |数组n }}
- 例子
- 有数组a:
{{#arraydefine:a|orange, orange, red, blue}}
- 有数组b:
{{#arraydefine:b|red, red, red, red, orange, yellow, yellow}}
- 有数组c:
{{#arraydefine:c|blue, red}}
- a ∩ b :
{{#arrayintersect:x|a|b}}{{#arrayprint:x}}
→ orange、orange、red - b ∩ a :
{{#arrayintersect:y|b|a}}{{#arrayprint:y}}
→ red、red、red、red、orange - a ∩ b ∩ c :
{{#arrayintersect:z|a|b|c}}{{#arrayprint:z}}
→ red - 底层代码
- 其中的
multiArrayOperation
,会从第一个数组(array_1)开始,对其他所有数组逐一执行multi_arrayintersect( array_1, array_i )
。也就是,将第一个数组与其他数组逐一计算交集; - 求交集的核心函数是 PHP 的array_intersect 函数。其比较两个元素是否相同的标准是:
(string) $elem1 === (string) $elem2
,即对PHP语言的字符串转换表达相同。
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
arraymap
arraymap用于分割字符串并以指定格式输出。出自扩展 Page Forms。
- 格式
- {{#arraymap:字符串|分隔符|别名|输出wikitext|输出分隔符|输出连接词}}
- 比如{{#arraymap:托奇_环理_小满_辰纱|_|name|'''name'''|、|和}}→ 托奇、环理、小满 和 辰纱
- 字符串为:「托奇_环理_辰纱」
- 分隔符为: 「 _ 」 用于拆分字符串为子字符串
- 别名是:「name」,将在输出wikitext中使用,以替换不同的子字符串
- 输出wikitext是「 '''name'''」,是一段包含别名的wikitext,别名将被替换为子字符串多次输出
- 输出分隔符是 「 、」,在两个输出wikitext之间,会被插入输出分隔符
- 输出连接词是 「和」,在最后一次输出wikitext前,将使用此连接词替代输出分隔符
- 例子
- 指定格式:
{{#arraymap:a_b_c | _ | @ | '''@''' | 、 }}
→ a、b、c - 指定格式:
{{#arraymap:a_b_c | _ | @ | 有'''@'''的wikitext | ~间~隔~ }}
→ 有a的wikitext~间~隔~有b的wikitext~间~隔~有c的wikitext - 指定格式和连接词:
{{#arraymap:托奇_环理_小满_秘银_从云_辰纱 | _ | @ | '''@''' | , |和 }}一起开会
→ 托奇,环理,小满,秘银,从云 和 辰纱一起开会 - 奇怪的连接词:
{{#arraymap:点点,丩卩夂忄,马小萌,Lu | , | @ | {{key|@}} | 、 |同时发现了}}
→ 点点、丩卩夂忄、马小萌 同时发现了 Lu - 批量处理:
{{#arraymap:apple, banana, cherry | , | @ | {{ucfirst:@}}}}
→ Apple, Banana, Cherry - 筛选:
{{#arraymap: 2, 7, 4, 9, 3 |,|@|{{#ifexpr: @ > 5 | @ }} }}
→ 7, 9 - 更多用法
- 字符串可以来自SMW查询,模板参数或其他表达式
- 这可以在不额外使用模板的情况下,格式化SMW查询结果。
- 比如:{{#arraymap:一个模板用于获取数据|分隔符|别称|{{一个模板|别称|其他参数}}}}
- 比如:{{#arraymap:SMW查询|分隔符|别称|简单的wikitext}}
- 底层代码
- 从 $args 数组中提取传递给函数的参数,并进行必要的处理和展开。
- 根据指定的分隔符将输入字符串拆分为一个数组。
- 遍历数组中的每个元素,使用指定的输出wikitext($formula)进行替换和展开,wikitext中的别名($var)被替换为当前元素的值。
- 对处理后的结果进行修整和展开。
- 如果结果非空,则将其添加到结果数组中。
- 根据指定的输出分隔符和输出连接词,将结果数组中的元素连接成最终的结果字符串。
- 返回结果字符串,用于输出。
arraymaptemplate
出自扩展Page Forms。
分割字符串并以新的格式输出
- 说明
- 有些类型的映射非常复杂,不能放在
#arraymap
函数中。为此,您可以使用类似的#arraymaptemplate
函数。 - 要使用该函数,首先创建一个模板,接收一个字段(模板中应将其称为
{{{1}}}
),并将您想要的映射应用到该字段。然后在主模板字段上应用#arraymaptemplate
,就像使用#arraymap
一样 - 其中 "模板 "是相关映射模板的名称。
- 格式
{{#arraymaptemplate:字符串|模板|分割符|输出间隔符}}
- 例子
- 要以编号列表的形式显示(用逗号分隔的)作者列表,可以先创建一个名为 "Numbered author "的模板,内容如下:
# [[Has author::{{{1}}}]]
- 然后
{{#arraymaptemplate:{{{authors|}}}|Numbered author|,|\n}}
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:抽卡结果 - 白夜极光
- 模板:道具图鉴 - 白夜极光
- 模板:道具图鉴/行 - 白夜极光
- 模板:活动兑换商店 - 深空之眼
- 模板:活动消耗计算器表格 - 深空之眼
- 模板:道具 - 千年之旅
- 模板:卡池一览 - 复苏的魔女
- 模板:抽卡结果 - 复苏的魔女
- 模板:抽卡结果-武器 - 复苏的魔女
- 模板:通用抽卡模拟器/文档 - 复苏的魔女
arraymerge
出自扩展Arrays。
合并多个数组
- 格式
{{#arraymerge:new_key |key1 |key2 |... |key-n }}
- 例子
- 有数组a:
{{#arraydefine:a|orange}}
- 有数组b:
{{#arraydefine:b|red, red}}
- 有数组c:
{{#arraydefine:c|blue, red}}
- 则:
{{#arraymerge:x|a|b}}
→ orange、red、red - 则:
{{#arraymerge:x|a|c}}
→ orange、blue、red - 则:
{{#arraymerge:x|a|b|c}}
→ orange、red、red、blue、red
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
arrayprint
出自扩展Arrays。
以指定的格式输出数组。
- 格式
{{#arrayprint: 数组名称 | 分隔符 | 代名样式 | 主语句 | 选项 }}
- 说明
- '主语句'接受维基链接、模板和解析函数。
- 在'主语句'中,你没有必要避开使用管道符
|
。在整个主语句中,'代名样式'会被搜索并轮流替换为数组的每个值(以转义形式)。最终再将整个字串解析,嵌入分隔符,输出结果。 - 如果应被输出的数组不存在,将会返回空字串。
- 默认的分隔符取决于语言,对于英文是半角逗号
,
,对于中文是顿号、
,日文当作中文处理。(具体见例子。分隔符项未出现时会使用,若分隔符项出现且为空,则为不输出分隔符。) - 例子
{{#arrayprint:b}}
→ 直接打印:使用语言默认的分隔符{{#arrayprint:b | }}
→ 直接打印:无分隔符{{#arrayprint:b |<br/> }}
→ 直接打印:使用换行符<br />
作为分隔符{{#arrayprint:b ||@ |@ |print=pretty }}
→ 使用“漂亮列表输出”会把最后两个元素用and
(英文时)、和
(中文、日文时)连接。虽然分隔符参数为空,但是为了“漂亮”,还是会用半角逗号,
(英文时)、顿号、
(中文、日文时)作为间隔符。{{#arrayprint:b |<br/> |@@@@ |[[:Category:@@@@|@@@@]] }}
→ 嵌入:到分类的维基链接{{#arrayprint:b |<br/> |@@@@ |[[prop1::@@@@]] }}
→ 定义一个SMW属性值{{#arrayprint:b |<br/> |@@@@ |length of @@@@:{{#len:@@@@}} }}
→ 嵌入:解析函数{{#arrayprint:b|<br/>|@@@@|{{template|prop2|@@@@}} }}
→ 嵌入:模板(包括参数)
arrayreset
出自扩展Arrays。
用于清除指定数组,或清除所有数组。
- 格式
{{#arrayreset:key1 |key2 |... |key-n }}
清除一或多个数组{{#arrayreset:}}
清除所有数组
- 例子
- 有数组a, b, c:
{{#arraydefine:a|orange, orange, red, blue}} {{#arraydefine:b|111, 22222}} {{#arraydefine:c}}
- 输出数组内容和其大小:
- a:orange、orange、red、blue - size=4
- b:111、22222 - size=2
- c: - size=0
- 现在清除a:
{{#arrayreset:a}}
- 再次输出数组内容和大小(包括不存在的ddddddd):
- a - size:
- b 111、22222 - size:2
- c - size:0
- ddddddd - size:
- 能看出,一个空数组c的size是0,而被清除后的数组a的size是空,与不存在的ddddddd一致,可以验证a确实被清楚了。
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
arraysearch
数组搜索。这个函数返回'输入值'第一次出现在数组中的位置序号。当未能找到时,返回空。指定了'成功返回值'和/或'失败返回值'时,如果找到,则会返回'成功返回值';如果未能找到,则会返回'失败返回值'。 出自扩展Arrays。
- 格式
{{#arraysearch: 数组名称 | 输入值 | 开始序号 | 成功返回值 | 失败返回值 }}
- 例子
- 返回'输入值'第一次出现时的序号。
{{#arraysearch:b|white}}
{{#arraysearch:b|red}}
- 使用'开始序号'则会从'开始序号'位置开始寻找:
{{#arraysearch:b|red|0}}
{{#arraysearch:b|red|2}}
- 使用正则表达式匹配:
{{#arraysearch:b|/low/}}
{{#arraysearch:b|/LOW/i}}
(不区分大小写){{#arraysearch:b|low}}
- 使用'成功/失败返回值':
{{#arraysearch:b|white|0|yes|no}}
{{#arraysearch:b|yellow|0|yes|no}}
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:莉莉图鉴 - 突击莉莉终结之弹
- 模板:SimpleCarousel - 明日方舟
- 模板:同人模组/个 - 明日方舟
- 模板:基建搭配推荐/组 - 明日方舟
- 模板:干员一览 - 明日方舟
- 模板:模组/个 - 明日方舟
- 模板:角色图鉴/个 - 明日方舟
- 模板:碧蓝回忆录/内容 - 碧蓝航线
- 模板:舰船解锁或120级总属性表 - 碧蓝航线
- 模板:舰队科技总属性表 - 碧蓝航线
arraysearcharray
出自扩展Arrays。
该函数搜索一个数组(用 key 标识),并根据搜索结果创建一个新数组(用 new_key 标识)。搜索条件值可以是字符串或正则表达式。如果给定了 index,搜索将从这里开始,limit 可以定义搜索结果的最大值。如果值是正则表达式,则可以使用 transform 标识的参数。它可以将匹配项的结果转换到 new_key 数组中,就像 PHP preg_replace 所做的那样。
- 格式
{{#arraysearcharray:new_key|key|value|index|limit|transform}}
- 例子
查找数组 "a "中所有以 A 开头、后跟空格的条目,并将其放入新数组 "x "中
|
{{#arraysearcharray:x |a |/^A\s.+/ }}
|
搜索数组 "a "中以数字结尾的所有条目,并将数字放入新数组 "y "中 |
{{#arraysearcharray:y |a |/^.*?(\d+)$/ |0 |-1 | $1 }}
|
搜索数组 "a "中以数字结尾的所有条目,并将这些条目的长度放入新数组中(这需要"'Regex Fun'"扩展)。 |
{{#arraysearcharray:y |y |/^.*?\d+$/e |0 |-1 | {{#len:$0}} }}
|
删除数组 "a "中的空值 |
{{#arraysearcharray:a|a|/\S+/}}
|
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:舰船解锁或120级总属性表 - 碧蓝航线
- 模板:舰队科技总属性表 - 碧蓝航线
- 模板:取勇士的城镇对话 - 克鲁赛德战记
- 模板:取勇士翻译数据 - 克鲁赛德战记
- 模板:取勇士翻译数据按职业 - 克鲁赛德战记
- 模板:模板代码框 - 克鲁赛德战记
- 模板:读取服装数据 - 克鲁赛德战记
- 模板:面包屑 - 克鲁赛德战记
- 模板:面包屑 - 地下城堡2
- 模板:共鸣 - 雾境序列
arraysize
出自扩展Arrays。 用于获得一个数组的大小(元素的个数)。
- 格式
{{#arraysize: 数组名称 }}
- 例子
{{#arraysize:a}}
→ 数组a的大小{{#if: {{#arraysize:b}} | ''array exists'' | ''array not defined'' }}
→ 检查一个数组是否存在
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:角色 - 航海王:梦想指针
- 模板:武器图鉴 - 另一个伊甸
- 模板:防具图鉴 - 另一个伊甸
- 模板:回忆列表 - 突击莉莉终结之弹
- 模板:掉落表列表 - 突击莉莉终结之弹
- 模板:莉莉服装图鉴 - 突击莉莉终结之弹
- 模板:干员导航 - 明日方舟
- 模板:同调者详情/Chatmore - 白荆回廊
- 模板:勋章支援列表 - 碧蓝航线
- 模板:建造模拟器/清单 - 碧蓝航线
arrayslice
- 参考官方文档和其他文档完善内容
- 增加实际用例和技巧
出自扩展Arrays。 从一个数组提取一个子数组到一个新数组
- 格式
{{#arrayslice:new_key|key|offset|length}}
offset:跳过数量;length:提取数量(超出有效数量只提取有效元素)
- 例子
{{#arrayslice:b|a|1|5}}
→ 将数组a从第2个元素开始的5个元素生成数组b(若a只有3个元素,那么效果是将数组a的第2个元素和第3个元素生成数组b)
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:装备研发/数据 - 碧蓝航线
- 模板:装备研发上下级 - 碧蓝航线
- 模板:UP勇士历史 - 克鲁赛德战记
- 模板:新首页模板/up勇士 - 克鲁赛德战记
- 模板:模板代码框 - 克鲁赛德战记
- 模板:活动日历 - 克鲁赛德战记
- 模板:天堂岛日程/卡池 - 坎特伯雷公主与骑士唤醒冠军之剑的奇幻冒险
- 模板:英雄up历史 - 坎特伯雷公主与骑士唤醒冠军之剑的奇幻冒险
- 模板:Ask - 三国杀移动版
- 模板:画师 - 三国杀移动版
arraysort
出自扩展Arrays。
- 格式
{{#arraysort:数组名|排序规则}}
- 例子
- 我们先定义一个数组名称为x的数组并打印输出。
{{#arraydefine:数组|1,2,3,7,6,5|,|print}}
→ 1、2、3、7、6、5- 此时我们再用arraysort函数让其按照降序重新排列后用arrayprint函数打印输出。
{{#arraysort:数组|desc}}{{#arrayprint:数组}}
→ 7、6、5、3、2、1
- 排序参数
none
-不排序(默认)desc
-降序asce
/asc
-升序random
-随机reverse
-逆序
- 笔记
- 每个数组元素都被视为一个字符串,如果排序数字时会按照数字首位排列。比如1,2,11按照升序排列时会变成1,11,2。
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:条形统计图 - 克鲁赛德战记
- 模板:模板代码框 - 克鲁赛德战记
- 模板:随机数生成 - 克鲁赛德战记
- 模板:随机颜色 - 克鲁赛德战记
- 模板:修正者/推荐刻印 - 深空之眼
- 模板:刻印展示 - 深空之眼
- 模板:表情列表 - 雀魂
arrayunion
- 参考官方文档和其他文档完善内容
- 增加实际用例和技巧
出自扩展Arrays。
- 格式
<!-- 语法格式 -->
- 例子
<!-- 例子wikitext -->
→
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
arrayunique
- 参考官方文档和其他文档完善内容
- 增加实际用例和技巧
出自扩展Arrays。
- 格式
<!-- 语法格式 -->
- 例子
<!-- 例子wikitext -->
→
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:6星勇士属性表格 - 克鲁赛德战记
- 模板:勇士图鉴 - 克鲁赛德战记
- 模板:条形统计图 - 克鲁赛德战记
- 模板:模板代码框 - 克鲁赛德战记
- 模板:活动日历 - 克鲁赛德战记
- 模板:视频列表 - 克鲁赛德战记
- 模板:面包屑 - 克鲁赛德战记
- 模板:面包屑 - 地下城堡2
- 模板:勇士图鉴 - 银河足球队
- 模板:面包屑 - 召唤与合成2
ask
出自扩展 Semantic MediaWiki。
参见帮助:SMW#ask。
autoedit
- 参考官方文档和其他文档完善内容
- 增加实际用例和技巧
出自扩展Page Forms。
- 格式
<!-- 语法格式 -->
- 例子
<!-- 例子wikitext -->
→
B
BASEPAGENAME
获取HTML编码后的上级页面名(不含命名空间)。
- 格式
{{BASEPAGENAME: 页面名}}
- 例子
{{BASEPAGENAME:Help:Title/foo/bar}}
→ Title/foo{{BASEPAGENAME:Help:Title}}
→ Titler{{BASEPAGENAME:Help:A and B}}
→ A and B
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:同人干员模组渲染/个 - 明日方舟
- 模板:同人模组/干员 - 明日方舟
- 模板:编辑提示 - 白荆回廊
- 模板:手机首页公告/行 - 碧蓝航线
- 模板:新闻列表/行 - 碧蓝航线
- 模板:基础属性 - 交错战线
- 模板:角色信息 - 交错战线
- 模板:SectionsTabNav - CSGO
- 模板:WIKI用户 - CSGO
- 模板:图标 - CSGO
BASEPAGENAMEE
获取HTML编码后的上级页面名(不含命名空间),与BASEPAGENAME不同的是,BASEPAGENAMEE的结果是URL编码的。
- 格式
{{BASEPAGENAMEE: 页面名}}
- 例子
{{BASEPAGENAMEE:Help:Title/foo/bar}}
→ Title/foo{{BASEPAGENAMEE:Help:Title}}
→ Titler{{BASEPAGENAMEE:Help:A and B}}
→ A_and_B{{BASEPAGENAMEE:一个文档}}
→ %E4%B8%80%E4%B8%AA%E6%96%87%E6%A1%A3
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
bidi
自动增加方向性控制字符,以同时正确的显示多种书写方向的字符串。
Bidi(双向)算法,也称为双向文本算法,是一种用于处理混合文本(包含从左到右和从右到左书写方向的字符)的文本排版算法。它的目标是正确地显示和处理混合方向文本,以确保文字的顺序和对齐方式在不同书写方向之间正确转换。
- 格式
{{bidi:字符串}}
- 例子
{{bidi:text transform}}
→ text transform{{bidi:كتابة عربية}}
→ كتابة عربية{{bidi:كتابة عربيةabc def}}
→ كتابة عربيةabc def
C
calendarenddate
出自Semantic Mediawiki的 Calendar format。
calendarstartdate
出自Semantic Mediawiki的 Calendar format。
canonicalurl
获取页面完整URL(包括协议和完整域名),可增加请求参数。
猜测设计意图上不做URL Encode,但实际上结果会被URL Encode,因此与#canonicalurle没有区别。
- 格式
{{canonicalurl: 词条名 | 请求参数 }}
- 例子
{{canonicalurl: 帮助:解析函数 }}
→https://wiki.biligame.com/tools/%E5%B8%AE%E5%8A%A9:%E8%A7%A3%E6%9E%90%E5%87%BD%E6%95%B0
{{canonicalurl: 帮助 | action=edit }}
→https://wiki.biligame.com/tools/index.php?title=%E5%B8%AE%E5%8A%A9&action=edit
- 不会校验参数是否有效:
{{canonicalurl: 帮助 | acg=233 }}
→https://wiki.biligame.com/tools/index.php?title=%E5%B8%AE%E5%8A%A9&acg=233
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
canonicalurle
获取页面完整URL(包括协议和完整域名),可增加请求参数。
与Canonicalurl的行为一致,获得的URL是经过URL Encode的。
- 格式
{{canonicalurle: 词条名 | 请求参数 }}
- 例子
{{canonicalurle: 帮助:解析函数 }}
→https://wiki.biligame.com/tools/%E5%B8%AE%E5%8A%A9:%E8%A7%A3%E6%9E%90%E5%87%BD%E6%95%B0
{{canonicalurle: 帮助 | action=edit }}
→https://wiki.biligame.com/tools/index.php?title=%E5%B8%AE%E5%8A%A9&action=edit
- 不会校验参数是否有效:
{{canonicalurle: 帮助 | acg=233 }}
→https://wiki.biligame.com/tools/index.php?title=%E5%B8%AE%E5%8A%A9&acg=233
cascadingsources
返回特定页面连锁保护的来源页面。
特殊情况:如果保护页面自己嵌入自己,会返回自身。
- 格式
{{CASCADINGSOURCES: 页面名 }}
- 例子
{{CASCADINGSOURCES: 帮助:Cascadingsources }}
→ (没有被保护){{CASCADINGSOURCES: 保护页面示例 }}
→ (没有因为其他页面被级联保护){{CASCADINGSOURCES: 保护页面示例/子页面 }}
→ 保护页面示例(子页面因嵌入保护页面受到了连锁保护)
categorytree
- 参考官方文档和其他文档完善内容
- 增加实际用例和技巧
显示分类树,与分类页面相似。
出自扩展CategoryTree
- 格式
{{#categorytree:分类|参数1|参数2|...|参数n}}
- 例子
{{#categorytree:解析函数}}
→
concept
contributors
列出指定页面的贡献者,每个贡献者的用户名都链接到他的用户页面。
出自扩展Contributors。
- 格式
{{#contributors:页面名}}
{{#contributors:页面名|filteranon}} 过滤匿名用户,但BWiki不存在匿名编辑。
- 例子
{{#contributors:首页}}
→ (39886146)、(9388102)、(123855714)、(16083703)、(111160720)、(509732352)和(29136181) (固定示例)- 注意,一些小组件会改变用户名的外观
count
计算字符串中特定子串的出现次数。
出自扩展ParserFunctions中的String functions。
- 格式
{{#count:字符串|子串}}
- 例子
{{#count:aabbccddaaccdd|aa}}
→ 2- 不提供子串则计算空格数量
{{#count:aa bb cc dd dd}}
→ 4
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:刻印展示 - 深空之眼
- 模板:矩阵公会 - 深空之眼
- 模板:上修一览/行 - 怪物弹珠
- 模板:上修统计用/行 - 怪物弹珠
- 模板:时间换算到秒 - 江南百景图
- 模板:角色 - 雾境序列
- 模板:卡池图鉴 - 东方归言录
- 模板:WSB卡片详情 - 黑白双翼WS
- 模板:卡片详情 - 黑白双翼WS
cscore
获取用户贡献,如贡献分数、编辑数、编辑页面数
出自扩展Contribution Scores。
- 格式
- 指定用户贡献分数
{{#cscore:用户名(即bid)|score}}
- 指定用户编辑次数
{{#cscore:用户名|changes}}
- 指定用户编辑页面数量
{{#cscore:用户名|pages}}
- 例子
- Lu(bid 39886146)的贡献分数:
{{#cscore:39886146|score}}
→ 1,839 - 编辑次数:
{{#cscore:39886146|changes}}
→ 7,499 - 编辑页面数量:
{{#cscore:39886146|pages}}
→ 1,687
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:用户贡献积分等级 - CSGO
- 模板:用户贡献积分等级 - 我的世界玩家社区
- 模板:WIKI建设者留言 - 三国杀移动版
- 模板:WIKI建设者留言 - 三国杀OL
- 模板:WIKI建设者留言 - 三国杀
- 模板:用户页面卡 - 战争雷霆
css
为页面增加CSS。
不支持链接,链接会让所在的#css内容全部失效。(需要可以用bstyle标签替代)
优先级较高,能覆盖mediawiki:common.css中的同名样式。
出自扩展CSS。
- 格式
{{#css: CSS代码}}
- 例子
{{#css: .a_css_demo{color:red;} }}<span class="a_css_demo">文字</span>
→ 文字- 更多用法
- 模板中防止多次调用导致重复CSS(代码冗余会影响搜索引擎收录)
{{#if:{{#varexists:防止多次加载CSS_XXX}} | |{{#vardefineecho:防止多次加载CSS_XXX | 这里是#CSS代码 }} }} }}
- 另请参见
- 帮助:在WIKI里引用CSS类样式
- 插件:CSS
D
declare
参见semantic-mediawiki Argument_declaration_in_templates
default_form
- 参考官方文档和其他文档完善内容
- 增加实际用例和技巧
出自扩展Page Forms。
- 格式
{{#default_form:form-name}}
- 例子
<!-- 例子wikitext -->
→ 效果
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:关卡 - 非匿名指令
- 模板:噬灵者 - 非匿名指令
- 模板:技能图鉴 - 约瑟传说
- 模板:技能图鉴 - 赛尔号手游
- 模板:皮肤 - 赛尔号手游
- 模板:精灵 - 赛尔号手游
- 模板:精靈 - 赛尔号手游
- 模板:同人图片 - 赛尔计划
- 模板:技能 - 赛尔计划
- 模板:视频模板 - 赛尔计划
defaultsort
指定页面的排序依据:默认排序关键字(Default Sort Key,排序键),他决定了在分类、搜索时的页面顺序。
这在分类页面中特别有用,因为它们根据页面的排序键将页面按照字母顺序排列。
设置分类时指定排序关键字可以覆盖它:[[分类:某分类|排序关键字]]
- 格式
{{DEFAULTSORT: 排序键 }}
{{DEFAULTSORT: 排序键 | noerror或noreplace }}
- noerror 用于阻止多次使用#defaultsort的报错
- noreplace 禁止后续的#defaultsort覆盖
- 例子
- 对于页面 John Doe
{{DEFAULTSORT:Doe}}
→ 分类页面将Doe作为排序关键词
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:视频模板 - 赛博朋克2077
- 模板:Documentation - 《逃离塔科夫》官方 Wiki(镜像)
- 模板:Infobox - 《逃离塔科夫》官方 Wiki(镜像)
- 模板:元素晶石图鉴 - 方舟指令
- 模板:技能图鉴 - 方舟指令
- 模板:指令卡图鉴 - 方舟指令
- 模板:Familytree - 高达
- 模板:Quotation - 激战2
- 模板:Documentation subpage - 英雄联盟
- 模板:文档子页面 - 英雄联盟
displaytitle
修改页面的显示名。
有时,无法用预期的标题创建页面,可能需要额外的前后缀,或使用ID、英文作为页面名。此时可以通过DISPLAYTITLE使页面显示预期的标题。
此外,页面名有限制,一些符号无法使用。DISPLAYTITLE可用于显示正确的页面名。
- 格式
{{DISPLAYTITLE:title}}
{{DISPLAYTITLE:title|noerror}}
禁止报错(多次使用时){{DISPLAYTITLE:title|noreplace}}
防止覆盖
- 例子
- 对于页面“副本:煤块矿场”
{{DISPLAYTITLE:煤块矿场}}
→ 页面的标题显示为煤块矿场 - 对于页面Armstrong
{{DISPLAYTITLE:壮臂氏}}
→ Armstrong页面的标题显示为壮臂氏
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:施工中 - 少前:云图计划
- 模板:活动信息 - 突击莉莉终结之弹
- 模板:技能详情 - 白荆回廊
- 模板:漫画 - 碧蓝航线
- 模板:页面名 - 城市:天际线
- 模板:副本 - 克鲁赛德战记
- 模板:单人格 - 第五人格
- 模板:名帖 - 古剑奇谭
- 模板:Lowercase title - Minecraft WIKI
- 模板:Underscore title - Minecraft WIKI
dowhile
- 参考官方文档和其他文档完善内容
- 增加实际用例和技巧
循环。与while不同的是,循环体的内容会至少执行一次。
出自扩展Loops。
- 格式
{{#while: | 条件 | 循环体 }}
- 例子
<!-- 例子wikitext -->
→
dpl
- 参考官方文档和其他文档完善内容
- 增加实际用例和技巧
出自扩展DynamicPageList3。
- 格式
{{#dpl: category = cat1{{!}}cat2 | linksto = {{{1}}} }}
- 例子
<!-- 例子wikitext -->
→
- 文档
- DPL3文档
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:剧情立绘 - 战双帕弥什
- 模板:Bedrock nbt - 我的世界地下城
- 模板:Bedrock nbt - Minecraft WIKI
- 模板:IsFluid - 幸福工厂
- 模板:Store - Terraria Wiki
- 模板:Version - Terraria Wiki
更多内容请参考:帮助:DPL3#dpl
dplchapter
出自扩展DynamicPageList3。 请参考:帮助:DPL3#dplchapter
dplmatrix
出自扩展DynamicPageList3。 请参考:帮助:DPL3#dplmatrix
dplnum
出自扩展DynamicPageList3。 请参考:帮助:DPL3#dplnum
dplreplace
出自扩展DynamicPageList3。 请参考:帮助:DPL3#dplreplace
dplvar
出自扩展DynamicPageList3。 请参考:帮助:DPL3#dplvar
E
explode
使用指定分隔符将字符串分割成多段,返回其中指定位置的一段。
此函数对大小写敏感,若要做更复杂的分隔请先使用帮助:解析函数#replace把不同的分隔符替换成同样的字串。位置编号由0开始计算(第一项是0号)。如果位置参数为负数(-n),则从末尾开始计算的第n个。分隔符在字串中连续出现的话,则会被分割成多个空白小段,会干扰到位置编号。
若要使用特殊字串(包括前后空格,因为函数会自动trim所有输入内容),请用
出自扩展 ParserFunctions的String functions。
- 格式
- {{#explode:字符串|分隔符(默认空格)|位置|限制}}
- 例子
- {{#explode:And if you tolerate this||2}}→ you
- {{#explode:String/Functions/Code|/|-1}}→ Code
- {{#explode:Split%By%Percentage%Signs|%|2}}→ Percentage
- {{#explode:And if you tolerate this thing and expect no more||2|3}}→ you tolerate this thing and expect no more
- {{#explode: 今天,天气,非常,好!|,|2}}→
非常
- {{#explode: 今天,天气,非常,好!|,|-1}}→
好!
- {{#explode: 0 1 2 3 4 5 6||5}}→
2
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
expr
类型 | 运算符 |
---|---|
组合(括号) | ( )
|
数字 | 1234.5 、 e (2.718) 、 pi (3.142)
|
科学计数法(二元) e 、 正负号(一元) + ,-
| |
一元运算符 | not ceil trunc floor abs exp ln sin cos tan acos asin atan
|
二元运算符 | ^
|
* / div mod
| |
+ -
| |
四舍五入 | round
|
逻辑运算符 | = != <> > < >= <=
|
and
| |
or
|
用于验证一个数学表达式,并返回它的计算值。
出自扩展 ParserFunctions。
此函数在Scribunto扩展中也可用,函数名为mw.ext.ParserFunctions.expr
。
- 格式
{{#expr: 表达式 }}
- 支持的运算符如右方表格所示,表格从上到下按运算符的计算优先顺序排列。
- 每个运算符的详细功能见Help:Calculation。
- 计算结果的精度和格式取决于wiki服务器的操作系统,和网站语言的数字格式。
- 例子
- 当用于计算布尔代数值(Boolean algebra)时,零值表示
false(假)
,任何非零值,无论正负,都表示ture(真)
:{{#expr: 1 and -1 }}
→1
{{#expr: 1 and 0 }}
→0
{{#expr: 1 or -1 }}
→1
{{#expr: -1 or 0 }}
→1
{{#expr: 0 or 0 }}
→0
- 输入空的表达式会返回一个空字串。输入不正确的表达式会返回其中一个错误消息,错误可以被iferror函数捕捉到:
{{#expr: }}
→{{#expr: 1+ }}
→表达式错误:缺少+的操作数。
{{#expr: 1 = }}
→表达式错误:缺少=的操作数。
{{#expr: 1 foo 2 }}
→表达式错误:无法识别的词语“foo”。
- 加减运算符在数字之前与之后的意义不同,它们有可能被当作正负号,而不会被当作不正确的表达式:
{{#expr: +1 }}
→1
{{#expr: -1 }}
→-1
{{#expr: + 1 }}
→1
{{#expr: - 1 }}
→-1
- 注意
- 如果使用魔术字的输出值,必须使用其原始格式,如:移除所有分割逗号,转换为数字。
- 比如
{{NUMBEROFUSERS}}
输出的是6,947,424
,但是实际需要的是6947424
,原始格式可以用{{formatnum:{{NUMBEROFUSERS}}|R}}
来得到,详见formatnum。例子如下:{{#expr:{{NUMBEROFUSERS}}+100}}
→表达式错误:无法识别的符号“,”。
{{#expr:{{formatnum:{{NUMBEROFUSERS}}|R}}+100}}
→6947524
- 注意
- 运算符
mod
会在某些除数值下给出错误的结果:{{#expr: 123 mod (2^64-1)}}
→零除。
(返回空字串,结果本应是123
)
- 补充
- 若想要进行关于日期的计算(比如:将当前日期与某日期进行比较),首先应将时间转化为“1970年1月1日之后多少秒”的结构,可以使用
{{#time: xNU }}
来转换(详见time),然后就可以把日期当作数字来进行计算和比较了。 - 关于四舍五入
- 将运算符
round
左边的数四舍五入(Rounds),使其小数位数为round
右边的数。 - 如需进一取整(向上舍入),使用
ceil
;如需舍去取整(向下舍入),使用floor
。
例子 | 结果 | 舍入方法 |
---|---|---|
{{#expr: 1/3 round 5 }} |
0.33333 | 保留5位小数。舍去的部分首位数值<5,则不会进一。 |
{{#expr: 1/6 round 5 }} |
0.16667 | 保留5位小数。舍去的部分首位数值≥5,则进一。 |
{{#expr: 8.99999/9 round 5 }} |
1 | 同上方法,结果是进一得到的。 |
{{#expr: 1234.5678 round -2 }} |
1200 | 此处保留到百位。要保留到小数点左侧,应使用负的位数。 |
{{#expr: 1234.5678 round 2 }} |
1234.57 | 此处保留到百分位。要保留到小数点右侧,应使用正的位数。 |
{{#expr: 1234.5678 round 2.3 }} |
1234.57 | 位数值如果输入了带小数的数值,小数部分不起作用。 |
{{#expr: trunc 1234.5678 }} |
1234 | 保留到整数可以使用trunc 。
|
保留到整数的舍入规则: | ||
{{#expr: 1/3 round 0 }} |
0 | 保留到最近的整数,向下舍入至零。 |
{{#expr: 1/2 round 0 }} |
1 | 保留到最近的整数,向上舍入至一。 |
{{#expr: 3/4 round 0 }} |
1 | 保留到最近的整数,向上舍入至一。 |
{{#expr: -1/3 round 0 }} |
-0 | 保留到最近的整数,向上舍入至零。 |
{{#expr: -1/2 round 0 }} |
-1 | 保留到最近的整数,向下舍入至负一。 |
{{#expr: -3/4 round 0 }} |
-1 | 保留到最近的整数,向下舍入至负一。 |
使用ceil 和floor 时的舍入规则:
| ||
{{#expr: ceil(1/3) }} |
1 | 向上舍入至一。 |
{{#expr: floor(1/3) }} |
0 | 向下舍入至零。 |
{{#expr: ceil(-1/3) }} |
-0 | 向上舍入至零。 |
{{#expr: floor(-1/3) }} |
-1 | 向下舍入至负一。 |
{{#expr: ceil 1/3 }} |
0.33333333333333 | 没有被舍入处理,因为1 就是整数注意:上述表达式含义为 (ceil 1)/3 ,而不是ceil(1/3) ,应注意。
|
- 关于字符串
- 表达式只能用于数字值,不能比较字串或者字符。如需比较字串和字符,请使用ifeq。例子:
{{#expr: "a" = "a" }}
→表达式错误:无法识别的符号“"”。
{{#expr: a = a }}
→表达式错误:无法识别的词语“a”。
{{#ifeq: a | a | 1 | 0 }}
→1
F
filepath
获取指定文件的路径。
文件名无须包含命名空间,可以选择加上缩略图宽度要求或nowiki防止直接插入图片。
- 格式
{{filepath: 文件名 | 要求 }}
- 例子
{{filepath: Toolswikilogo.png }}
→https://patchwiki.biligame.com/images/tools/4/41/fr3pnybxu6c0xtdypvwbfc5z1i1gcgy.png
{{filepath: Toolswikilogo.png | nowiki }}
→https://patchwiki.biligame.com/images/tools/4/41/fr3pnybxu6c0xtdypvwbfc5z1i1gcgy.png
{{filepath: Toolswikilogo.png | 60 }}
→https://patchwiki.biligame.com/images/tools/thumb/4/41/fr3pnybxu6c0xtdypvwbfc5z1i1gcgy.png/60px-Toolswikilogo.png
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
follow
给定一个页面名,如果是重定向页面,返回重定向目标页面名。否则返回输入的页面名本身。
出自扩展ParserPower。
- 格式
{{#follow: 页面名}}
- 例子
- 设expr页面重定向到“帮助:Expr”:
{{#follow: expr}}
→ 帮助:Expr {{#follow: 首页}}
→ 首页{{#follow: 不存在的页面}}
→ 不存在的页面
forargs
- 参考官方文档和其他文档完善内容
- 增加实际用例和技巧
出自扩展Loops。
- 格式
{{#forargs: <prefix> | <key> | <value> | <block statement> }}
- prefix:参数名的前缀。想要循环处理一系列以特定前缀开头的命名参数时,这个前缀就会派上用场。
- key:循环中当前参数的名称(不包括前缀)。
- value:循环中当前参数的值。
- block statement:每次循环时要执行的wiki文本或模板调用。
- 例子
- 模板:沙盒/forargs:
{{#forargs:参数 |key |value |'''参数'''{{#var:key}} is {{#var:value}}<br> }}
- 使用模板:
{{沙盒/forargs |参数1=Apple |参数2=Banana |参数3=Cherry |其他参数4=此模板中不显示的内容 }}
→- 参数1 is Apple
- 参数2 is Banana
- 参数3 is Cherry
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:家具套装 - 明日方舟
- 模板:切换显示/模板 - 白荆回廊
- 模板:切换显示按钮 - 白荆回廊
- 模板:Tabber - 封印者
- 模板:Tab - 四叶草剧场
- 模板:专武基础 - 四叶草剧场
- 模板:专武等级Tab - 四叶草剧场
- 模板:立绘Tab - 四叶草剧场
- 模板:角色模板专武 - 四叶草剧场
- 模板:角色模板台词 - 四叶草剧场
formatdate
将输入的日期格式化,输入的日期只接受YYYY-MM-DD(ISO 8601,必须都有前导零)的格式,而输出则支持各种格式,包括ISO 8601、dmy、mdy和ymd。如果格式化的时候出现错误,将会原封不动返回输入的日期。
MediaWiki原生函数。
- 格式
{{#formatdate: 日期 | 格式 }}
- 例子
{{#dateformat:2015-08-14|ISO 8601}}
→2015-8-14
{{#dateformat:2015-08-14|dmy}}
→14 8月 2015
{{#dateformat:2015-08-14|mdy}}
→8月 14, 2015
{{#dateformat:2015-08-14|ymd}}
→2015 8月 14
{{#dateformat:2015-08-14|myd}}
→2015-08-14
(不支持的格式){{#dateformat:2015-8-14|myd}}
→2015-8-14
(输入不符合ISO 8601,月份缺少前导零)
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
formatnum
将输入的数字格式化,不输入格式的话默认为一般逗号分隔(其他语言可能有别)的格式,输入R会还原成无格式化的形式,输入NOSEP会去掉逗号(或其他语言中的数字分隔符)。此函数并不会去掉前导零,也不会为小数添加前导零。请不要输入数字以外的东西。
MediaWiki原生函数。
- 格式
{{formatnum: 数字 | 格式 }}
- 例子
{{formatnum: 12345.678 }}
→12,345.678
{{formatnum: 12,345.678 | R }}
→12345.678
{{formatnum: 12,345.678 | NOSEP }}
→12,345.678
{{formatnum: 00145.678 }}
→00,145.678
{{formatnum: .678 }}
→.678
forminput
出自扩展Page Forms
formlink
出自扩展Page Forms
formredlink
出自扩展Page Forms
fornumargs
- 参考官方文档和其他文档完善内容
- 增加实际用例和技巧
出自扩展Loops。
- 格式
{{#fornumargs: <key> | <value> | <block statement> }}
- 例子
<!-- 例子wikitext -->
→
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:导航条
- 模板:面包屑
- 模板:信息表 - CSGO
- 模板:多图标 - CSGO
- 模板:协议 - 我的世界玩家社区
- 模板:切换标签 - 忘却前夜
- 模板:面包屑 - Palworld幻兽帕鲁中文百科
- 模板:施工中 - Starfield
- 模板:卡片 - 风暴工程:建造与救援
- 模板:微控板 - 风暴工程:建造与救援
fullpagename
获取词条全名(包含命名空间)。
MediaWiki原生函数。
- 格式
{{FULLPAGENAME}}
{{FULLPAGENAME: 页面名 }}
- 例子
{{FULLPAGENAME}}
→ 帮助:解析函数{{FULLPAGENAME: 帮助:Fullpagename }}
→ 帮助:Fullpagename{{FULLPAGENAME: a b c }}
→ A b c{{FULLPAGENAME: /a b c }}
→ /a b c
fullpagenamee
获取UEL编码的词条全名(包含命名空间)。
MediaWiki原生函数。
- 格式
{{FULLPAGENAME}}
{{FULLPAGENAME: 页面名 }}
- 例子
{{FULLPAGENAMEE}}
→ %E5%B8%AE%E5%8A%A9:%E8%A7%A3%E6%9E%90%E5%87%BD%E6%95%B0{{FULLPAGENAMEE: 帮助:Fullpagename }}
→ %E5%B8%AE%E5%8A%A9:Fullpagename{{FULLPAGENAMEE: a b c }}
→ A_b_c{{FULLPAGENAMEE: /a b c }}
→ /a_b_c
fullurl
- 参考官方文档和其他文档完善内容
- 增加实际用例和技巧
获取页面的URL,可以附加一个请求参数。
获得的URL包含域名,且被URL Encode。这与#fullurle一致(虽然设计上应该仅由fullurle提供Encode版本)。
MediaWiki原生函数。
- 格式
{{fullurl: 词条名}}
{{fullurl: 词条名 | 请求参数 }}
- 例子
{{fullurl: 帮助:解析函数 }}
→https://wiki.biligame.com/tools/%E5%B8%AE%E5%8A%A9:%E8%A7%A3%E6%9E%90%E5%87%BD%E6%95%B0
{{fullurl: 帮助:解析函数 | action=edit }}
→https://wiki.biligame.com/tools/index.php?title=%E5%B8%AE%E5%8A%A9:%E8%A7%A3%E6%9E%90%E5%87%BD%E6%95%B0&action=edit
{{fullurl: 帮助:解析函数 | aaa=111 }}
→https://wiki.biligame.com/tools/index.php?title=%E5%B8%AE%E5%8A%A9:%E8%A7%A3%E6%9E%90%E5%87%BD%E6%95%B0&aaa=111
fullurle
- 参考官方文档和其他文档完善内容
- 增加实际用例和技巧
获取页面的URL(URL Encode),可以附加一个请求参数。与#fullurl行为一致。
MediaWiki原生函数。
- 格式
{{fullurle: 词条名}}
{{fullurle: 词条名 | 请求参数 }}
- 例子
{{fullurle: 帮助:解析函数 }}
→https://wiki.biligame.com/tools/%E5%B8%AE%E5%8A%A9:%E8%A7%A3%E6%9E%90%E5%87%BD%E6%95%B0
{{fullurle: 帮助:解析函数 | action=edit }}
→https://wiki.biligame.com/tools/index.php?title=%E5%B8%AE%E5%8A%A9:%E8%A7%A3%E6%9E%90%E5%87%BD%E6%95%B0&action=edit
{{fullurle: 帮助:解析函数 | aaa=111 }}
→https://wiki.biligame.com/tools/index.php?title=%E5%B8%AE%E5%8A%A9:%E8%A7%A3%E6%9E%90%E5%87%BD%E6%95%B0&aaa=111
G
gender
- 参考官方文档和其他文档完善内容
- 增加实际用例和技巧
根据用户设置的性别称呼输出不同文字。
BWiki中,用户默认称呼是中性,且每一个wiki均独立设置。因此这个Gender在绝大多数情况下没用。
- 格式
{{GENDER:用户名|男性文字|女性文字|中性文字}}
- 例子
{{GENDER:39886146|male text|female text|text for unspecified}}
→ male text (Lu设置了性别称呼为他){{GENDER:39886146|text for unspecified}}
→ text for unspecified{{GENDER:|male text|female text|text for unspecified}}
→ text for unspecified{{GENDER:[INVALID]|male text|female text|text for unspecified}}
→ text for unspecified 本wiki的默认性别称呼是中性。{{GENDER:[INVALID]|male|female}}
→ male 如果不给出中性文字,默认是男性
grammar
根据词形变化代码输出给定的词的正确的词形变化(与语言相关)。语法变形被用于波兰语这样的屈折语。
对于BWiki这样的中文Wiki几乎无用。
- 格式
{{GRAMMAR:N|word}}
- 例子
{{GRAMMAR:elative|wiki}}
→ wikistä (对于芬兰语wiki)
I
if
用于鉴别一个测试字串是否为空。一个只含有空白字符的字串会被判定为空。
出自扩展 ParserFunctions。
- 格式
- {{#if: 测试字串|字串非空输出值|字串空(或只有空白字符)输出值}}
- {{#if: 参数1|参数2|参数3}}
- 说明
- 这个函数首先检查'参数1'是否为空。如果'参数1'不为空,则显示'参数2'。如果'参数1'为空或只含有空白字符(如空格,换行符等),则显示'参数3'。
- 例子
- {{#if:|yes|no}}→
no
- {{#if: string|yes|no}}→
yes
- {{#if: |yes|no}}→
no
- {{#if:→
|yes|no}}no
- 测试字串总是被解释为纯文本,所以数学表达式不会被鉴别。
- {{#if: 1==2|yes|no}}→
yes
- {{#if: 0|yes|no}}→
yes
- 最后一个参数(字串空输出值)可以省略。
- {{#if: foo|yes}}→
yes
- {{#if:|yes}}→
- {{#if: foo||no}}→
- 这个函数可以被嵌套。嵌套时,需用完整格式的
#if
函数,替代外层#if
函数的某个参数。最大可以嵌套七层,具体取决于网站和存储限制。- {{#if: 测试字串1|字串1非空输出值|字串2非空输出值}}
- 可以用一个参数当作#if函数的测试字串。必须在变量名的后面加上管道符
|
。{{#if:{{{1|}}}| 变量1中输入了文本 | 变量1中没有文本 }}
- 对于在模板中的应用,更多例子可参照:Help:Parser functions in templates
ifeq
比较两个字串是否相同。
出自扩展 ParserFunctions。
- 格式
- {{#ifeq: 测试字串1|测试字串2|相同时输出值|不相同时输出值}}
- 例子
- 如果两个字串都是有效的数值,则会按照数值进行比较。
- {{#ifeq: 01|1|equal|not equal}}→
equal
- {{#ifeq: 0|-0|equal|not equal}}→
equal
- {{#ifeq: 1e3|1000|equal|not equal}}→
equal
- {{#ifeq: 1000|1000|equal|not equal}}→
equal
- 否则会按照文本进行比较,区分大小写。
- {{#ifeq: foo|bar|equal|not equal}}→
not equal
- {{#ifeq: foo|Foo|equal|not equal}}→
not equal
- {{#ifeq: "01"|"1"|equal|not equal}}→
not equal
(注意与上方不带引号的区别) - {{#ifeq: 10^3|1000|equal|not equal}}→
not equal
(注意与上方使用了#expr
函数的区别)
- 注意
#ifeq
和#switch
的数值比较与使用#expr
进行比较不同:- {{#ifeq: 12345678901234567|12345678901234568|equal|not equal}}→
not equal
- {{#switch: 12345678901234567|12345678901234568 = equal|not equal}}→
not equal
- 因为PHP以整数型比较两个数字,然而:
- {{#ifexpr: 12345678901234567 = 12345678901234568|equal|not equal}}→
equal
- 因为MediaWiki转换文本数字为浮点型,对于比较大的整数,会导致末尾被舍去。
- 注意
- 在解析函数内部的标签和解析函数(如<nowiki>)会被暂时替换为一个唯一的代码。这会影响到比较结果:
- {{#ifeq:→<nowiki>foo</nowiki>|<nowiki>foo</nowiki>|equal|not equal}}
not equal
- {{#ifeq:→<math>foo</math>|<math>foo</math>|equal|not equal}}
not equal
- {{#ifeq:→{{#tag:math|foo}}|{{#tag:math|foo}}|equal|not equal}}
not equal
- {{#ifeq:→[[foo]]|[[foo]]|equal|not equal}}
equal
- 如果被比较的字串 是由等价调用 含有这类标签的 同一模板 得到的,则值为真;但如果为 含有相同的这类标签的 两个模板,则值为假。
- 注意
- 在用页面名变量(如:{{FULLPAGENAME}})比较当前页面标题时,应小心。这些变量会将特殊字符转换为数字HTML实体。这会造成具有误导性的结果。比如,在一个标题为“L'Aquila”的页面上:
- {{#ifeq: L'Aquila|→{{FULLPAGENAME}}|equal|not equal}}
not equal
- 上面的结果实际是错误的。经过改进之后,现在它会返回“
equal
”。但是对于其他情况可能不会如此。如{{FULLPAGENAME}},在部分网站,可能会将第一个字母替换为大写,可能会将所有下划线替换为空格。 - 为了解决这个问题,可以在两个参数上都应用变量:
- {{#ifeq:→{{FULLPAGENAME: L'Aquila}}|{{FULLPAGENAME}}|equal|not equal}}
equal
iferror
用于分辨输入字串,并返回两个结果中的一个。如果输入字串中含有HTML元素包含class="error"
,则会被当作true(真)
。
class="error"
能由其他解析函数,如expr、time、rel2abs产生,模板(Templates)错误,如循环、递归和其他解析器错误也能产生。
出自扩展 ParserFunctions。
- 格式
- {{#iferror: 测试字串|错误时输出值|正确时输出值}}
- 例子
- 两个'输出值'可省略其一或两者都省略。如果'正确时输出值'被省略了,则当没有错误时,会返回'测试字串'的值。如果'错误时输出值'被省略了,则当有错误时,会返回空字串:
- {{#iferror:→{{#expr: 1 + 2}}|error|correct}}
correct
- {{#iferror:→{{#expr: 1 + X}}|error|correct}}
error
- {{#iferror:→{{#expr: 1 + 2}}|error}}
3
- {{#iferror:→{{#expr: 1 + X}}|error}}
error
- {{#iferror:→{{#expr: 1 + 2}}}}
3
- {{#iferror:→{{#expr: 1 + X}}}}
- {{#iferror:→{{#expr: .}}|error|correct}}
correct
- {{#iferror:→<strong class="error">a</strong>|error|correct}}
error
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:Ifnumber - A3满开剧团
- 模板:B站视频 - 碧蓝航线
- 模板:勇士图鉴 - 克鲁赛德战记
- 模板:攻略文章 - 深空之眼
- 模板:Infobox - 《逃离塔科夫》官方 Wiki(镜像)
- 模板:卡片 - 偶像梦幻祭2
- 模板:Resistance Infobox - 最终幻想勇气启示录
- 模板:Reflist - 轨迹系列
- 模板:Ap - 英雄联盟
- 模板:Article - Minecraft WIKI
ifexist
根据指定页面是否存在,返回两个指定值中的一个。
出自扩展 ParserFunctions。
- 格式
- {{#ifexist: 页面标题|页面存在输出值|页面不存在输出值}}
- 例子
- 此函数当页面存在时判定为
true(真)
,不论它是否包含内容,是否为可见空白页(包含元数据,如分类链接和魔术字(Magic words),但不含可见内容),是否为空白页,是否为重定向页。 - 只有链接为红色(页面不存在,如
帮助:如何打辰纱
)的页面,才会被判定为false(假)
,包括曾经存在但已经被删除的页面。- {{#ifexist: 帮助:解析函数|exists|doesn't exist}}→
exists
- {{#ifexist: 帮助:如何打辰纱|exists|doesn't exist}}→
doesn't exist
- 自定义过的系统消息页(System message)和由软件定义的特殊页(Special pages)会被判定为
true(真)
。 - {{#ifexist: 特殊:监视列表|exists|doesn't exist}}→
exists
- {{#ifexist: 特殊:用户查核|exists|doesn't exist}}→
doesn't exist
(因为没有安装CheckUser) - {{#ifexist: MediaWiki:Copyright|exists|doesn't exist}}→
doesn't exist
(因为MediaWiki:Copyright页面没有被自定义过)
- 如果一个页面使用
#ifexist:
来检查目标页面是否存在,则该页面会出现在特殊:链入页面中目标页面的列表里。 - 所以如果本页面(帮助:解析函数)中存在{{#ifexist:用户:114514}},则在特殊:链入页面/用户:114514中,会包含
帮助:解析函数
。 - 在使用了共享媒体存储库(Shared media repository)的wiki上,
#ifexist:
还可以用来检查文件是否被上传到指定的存储库,而不是wiki自身:- {{#ifexist: 文件:现在.png|exists|doesn't exist}}→
doesn't exist
- {{#ifexist: 文件:测试.jpg|exists|doesn't exist}}→
doesn't exist
- {{#ifexist: 媒体:Test.png|exists|doesn't exist}}→
exists
- 如果本地wiki已经创建了以上文件,则会显示
exists
。 #ifexist:
不对跨wiki链接起作用。- ifexist的限制
#ifexist:
被认为是一个“高开销解析函数”;每个页面只能包含有限个这样的函数(包括模板中含的函数)。当超过限制的数量时,任何超出数量的#ifexist:
函数会被自动判定为false(假)
,不论目标页面是否存在。并且页面会被添加至分类:页面中有太多耗费的语法功能呼叫。各个追踪分类(Tracking categories)的名字在不同语言的wiki内可能有所不同。- 在一些应用场合下,可以使用CSS来模拟ifexist的效果,如使用选择器
a.new
(用于选择指向不存在页面的链接)或a:not(.new)
(用于选择指向存在页面的链接)。更进一步,既然单个页面中高开销解析解析函数的数量限制是由$wgExpensiveParserFunctionLimit参数控制的,可以通过修改LocalSettings.php
来满足使用要求。
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:模板说明 - 公元0年
- 模板:模板说明 - 十三机兵防卫圈
- 模板:三技能 - 零号任务
- 模板:模板说明 - 零号任务
- 模板:角色/立绘 - 航海王:梦想指针
- 模板:人形图鉴 - 少前:云图计划
- 模板:卡牌图鉴 - A3满开剧团
- 模板:战姬 - 机动战姬聚变
- 模板:模板帮助 - Starfield
- 模板:活动信息 - 崩坏:星穹铁道
ifexpr
根据指定表达式计算结果的布尔值,返回两个指定值中的一个。
出自扩展 ParserFunctions。
- 格式
- {{#ifexpr: 表达式|为真输出值|为假输出值}}
- '表达式'的计算方法和上面expr完全一样,可用的运算符也相同。运算结果会被当作一个布尔值。
- 例子
- 输入任何空表达式会判断为
false(假)
:- {{#ifexpr:|yes|no}}→
no
- 和上面expr中所述相同:零值被判断为
false(假)
,任何非零值被判断为true(真)
,所以这个函数的功能也可以用ifeq和expr来实现:- {{#ifeq:{{#expr: 表达式}}|0|为假输出值|为真输出值}}
- 但在表达式为空或有误时,这两种实现方式的效果不同(因为错误消息会被当作一个空字串,它不等于零,所以会得到'为真输出值'):
- {{#ifexpr: =|yes|no}}→
表达式错误:未预料的=操作符。
- 而:
- {{#ifeq:→{{#expr: =}}|0|no|yes}}
yes
- 两个'输出值'可省略其一或两者都省略。当该情况下的输出值被省略时,不会输出结果。
- {{#ifexpr: 1 > 0|yes}}→
yes
- {{#ifexpr: 1 < 0|yes}}→
- {{#ifexpr: 0 = 0|yes}}→
yes
- {{#ifexpr: 1 > 0||no}}→
- {{#ifexpr: 1 < 0||no}}→
no
- {{#ifexpr: 1 > 0}}→
- 支持逻辑运算 and 和 or:
- {{#ifexpr: 0 = 0 or 1 = 0|yes}}→
yes
- {{#ifexpr: 0 = 0 and 1 = 0||no}}→
no
- {{#ifexpr: 2 > 0 or 1 < 0|yes}}→
yes
- {{#ifexpr: 2 > 0 and 1 > 0|yes|no}}→
yes
imgh
获取指定图片高度。
出自扩展 ImageSizeInfoFunctions。
- 格式
- {{#imgh: 图片名}}
- 例子
- {{#imgh: 文件:Wikilogo.png}}→
101
- {{#imgh: Wikilogo.png}}→
101
- {{#imgh: aaaaaaaaaaaaaaaaaaaaaaa.png}}→
0
(不存在的图片)
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
imgw
获取指定图片宽度。
出自扩展 ImageSizeInfoFunctions。
- 格式
- {{#imgw: 图片名}}
- 例子
- {{#imgw: 文件:Wikilogo.png}}→
440
- {{#imgw: Wikilogo.png}}→
440
- {{#imgw: aaaaaaaaaaaaaaaaaaaaaaa.png}}→
0
(不存在的图片)
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
info
添加一个带有悬浮提示小图标。
对移动端用户不友好,使用需谨慎。
出自扩展 Semantic MediaWiki SMW功能强大,应用广泛。<br>如需单页内大量调用,请考虑使用模板、模块批量查询,这能提升综合体验、降低资源消耗。<br>另请参阅灰机、Fandom的相关文档,他们详述了对SMW的顾虑和限制。。
- 格式
- {{#info: <text>|<icon>|max-width=<width>|theme=<theme>}}
- icon 可选:infoicon可选项info、noteicon可选项note、warningicon可选项warning、erroricon可选项error
- max-width 最大宽度,正整数。
- theme 可选,悬浮框样式:square-bordertheme可选项square-border、square-border-lighttheme可选项square-border-light
- 例子
- 一些内嵌文本 {{#info: 在悬浮提示中显示的文本。}}→
一些内嵌文本 在悬浮提示中显示的文本。
- 电话号码 {{#info: 请按格式输入,例如:+86-13579246810|note}}→ 电话号码 请按格式输入,例如:+86-13579246810
- https://wiki.biligame.com/ {{#info: 请必须使用 https。|warning}}→ https://wiki.biligame.com/ 请必须使用 https。
- 2011-02-29 {{#info: 日期不正确。|error}}→
2011-02-29 日期不正确。
- 在悬浮提示中显示大量文字 {{#info: 悬浮提示中要显示大量文字。……|note|max-width=600}}→
在悬浮提示中显示大量文字 悬浮提示中要显示大量文字。还有更多的文字。还有更多的文字。还有更多的文字。还有更多的文字。</br></br>悬浮提示中要显示大量文字。还有更多的文字。还有更多的文字。还有更多的文字。还有更多的文字。
- 使用不同主题样式的悬浮提示。 {{#info: 使用不同主题样式的悬浮提示。|note|theme=square-border-light}}→
使用不同主题样式的悬浮提示。 使用不同主题样式的悬浮提示。
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:三技能 - 零号任务
- 模板:B站专栏/资料 - 少前:云图计划
- 模板:新版角色图鉴 - 另一个伊甸
- 模板:状态 - 机动战姬聚变
- 模板:文献资料 - 暗黑破坏神:不朽
- 模板:颜色释义 - 明日方舟
- 模板:角色 - 部落冲突
- 模板:怪物信息栏 - 神佑释放
- 模板:世界巡游 - 碧蓝航线
- 模板:舰娘图鉴 - 碧蓝航线
int
获取特定系统消息在当前语言中的内容,并可以提供多个参数(各个参数会按顺序分别替换掉系统消息内容中的$1、$2、...和$N),系统消息可以用扩展及Mediawiki命名空间定义。
MediaWiki原生函数。
- 格式
- {{int: Message名称|参数1|参数2|...|参数N}}
- 例子
- {{int: edit}}→
编辑
- {{int: Msu-comment}}→
基于MsUpload的文件上传
(修改MediaWiki:Msu-comment页面,可以修改编辑器中拖动图片上传的默认说明) - {{int: sunday}}→
星期日
- {{int: mycustomjsprotected}}→
您没有权限编辑这个JavaScript页面。
- {{int: multiarraymap-desc}}→
⧼multiarraymap-desc⧽
- {{int: markedaspatrolledtext}}→
$1的已选中版本已被标识为已巡查。
- {{int: markedaspatrolledtext|首页}}→
首页的已选中版本已被标识为已巡查。
- {{int: pipe-separator}}→
|
- {{int: parentheses|ABC括号内容}}→
(ABC括号内容)
(自动生成符合语言的括号) - {{int: quotation-marks|ABC引号内容}}→
“ABC引号内容”
(自动生成符合语言的引号) - {{int: imgmultipageprev}}→
← 上一页
invoke
调用使用Lua编写的模块。 模块提供了灵活、高性能的扩展方式。在一些自动化程度较高的Wiki中,模块极大减少了维护工作量,让少数贡献者维持大规模wiki的数据更新成为可能。
历史上,一些解析函数扩展的引入极大的增加了编写wikitext的复杂性上限,臃肿繁杂的wikitext不易阅读、维护困难。同时,如字符串解析函数等在大规模应用时出现了性能问题,这导致了Wikimedia的wiki停止使用String function,并用模块作为替代解决问题。请参见讨论phab:T8455获取更多信息。
出自扩展 Scribunto。
- 格式
- {{#invoke: 模块名|函数名|参数1|参数2|参数3 ...}}
更多信息请参阅
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:回忆列表 - 突击莉莉终结之弹
- 模板:狩猎范围 - 碧蓝航线
- 模板:画师数据 - 碧蓝航线
- 模板:I - 异星工厂
- 模板:图标 - 异星工厂
- 模板:部件 - 奇迹暖暖
- 模板:剧本 - 赛马娘
- 模板:素材图鉴 - 原神
- 模板:角色/信息 - 原神
- 模板:角色 - 卡拉彼丘
- 模板:道具图标 - 卡拉彼丘
L
language
根据输入的语言代号获取对应的语言全名。
MediaWiki原生函数。
- 格式
- {{#language: 语言代号}}
- 例子
- {{#language: zh}}→
中文
- {{#language: zh-hans}}→
中文(简体)
- {{#language: zh-hant}}→
中文(繁體)
- {{#language: ja}}→
日本語
- {{#language: en}}→
English
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:Lang - 约战精灵再临
- 模板:Locale translation/doc - 我的世界地下城
- 模板:Move - 我的世界地下城
- 模板:Split - 我的世界地下城
- 模板:Locale translation/doc - Minecraft WIKI
- 模板:Move - Minecraft WIKI
- 模板:Split - Minecraft WIKI
- 模板:Lang - 红警3
lc
把输入的字串中所有字母变成小写。
MediaWiki原生函数。
- 格式
- {{lc: wikitext}}
- 例子
- {{lc: QWER脸滚键盘}}→
qwer脸滚键盘
lcfirst
把输入的字串中第一个字母变成小写。
MediaWiki原生函数。
- 格式
- {{lcfirst: wikitext}}
- 例子
- {{lcfirst: QEWR脸滚键盘}}→
qEWR脸滚键盘
- {{lcfirst: 你们说的QEWR脸滚键盘是什么意思啊}}→
你们说的QWER脸滚键盘是什么意思啊
len
获取字串长度,多字节字符也算一个字,字串前后的空格和回车均不会算进长度中,若输入的字串中有HTML实体( 等),该实体将不会被转换成一般文字,而是按原本的姿态( )计算。被nowiki括住的内容不会算进长度中。
出自扩展 ParserFunctions的String functions。
- 格式
- {{#len: 字串}}
- 例子
- {{#len: A字串 BC}}→
6
- {{#len: 字串 BC}}→
10
- {{#len:→<nowiki>This is a</nowiki>test}}
4
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:攻击范围/个 - 明日方舟
- 模板:导弹图鉴 - 碧蓝航线
- 模板:舰炮图鉴 - 碧蓝航线
- 模板:装备名链接 - 碧蓝航线
- 模板:物品 - Chronicon
- 模板:符文 - Chronicon
- 模板:勇士图鉴 - 克鲁赛德战记
- 模板:物品 - 戴森球计划
- 模板:图鉴 - 地下城堡3
- 模板:Gamename - 《逃离塔科夫》官方 Wiki(镜像)
listfilter
出自扩展ParserPower。
listmap
出自扩展ParserPower。
listmerge
出自扩展ParserPower。
listsort
出自扩展ParserPower。
listunique
出自扩展ParserPower。
localurl
获取指定页面的本地URL,可附加参数。
获取的URL不包括域名,且被URL Encode,这与#localurle行为一致。
MediaWiki原生函数。
- 格式
- {{localurl: 页面名|参数}}
- 例子
- {{localurl: 帮助:解析函数}}→
/tools/%E5%B8%AE%E5%8A%A9:%E8%A7%A3%E6%9E%90%E5%87%BD%E6%95%B0
- {{localurl: 帮助:解析函数|action=edit}}→
/tools/index.php?title=%E5%B8%AE%E5%8A%A9:%E8%A7%A3%E6%9E%90%E5%87%BD%E6%95%B0&action=edit
- {{localurl: 帮助:解析函数|aaa=233}}→
/tools/index.php?title=%E5%B8%AE%E5%8A%A9:%E8%A7%A3%E6%9E%90%E5%87%BD%E6%95%B0&aaa=233
localurle
获取指定页面的本地URL,可附加参数。
获取的URL不包括域名,且被URL Encode,这与#localurl行为一致。
MediaWiki原生函数。
- 格式
- {{localurle: 页面名|参数}}
- 例子
- {{localurle: 帮助:解析函数}}→
/tools/%E5%B8%AE%E5%8A%A9:%E8%A7%A3%E6%9E%90%E5%87%BD%E6%95%B0
- {{localurle: 帮助:解析函数|action=edit}}→
/tools/index.php?title=%E5%B8%AE%E5%8A%A9:%E8%A7%A3%E6%9E%90%E5%87%BD%E6%95%B0&action=edit
- {{localurle: 帮助:解析函数|aaa=233}}→
/tools/index.php?title=%E5%B8%AE%E5%8A%A9:%E8%A7%A3%E6%9E%90%E5%87%BD%E6%95%B0&aaa=233
loop
按指定次数循环处理一段wikitext。
出自扩展 Loops。
- 格式
- {{#loop: 变量名|开始值|执行次数|重复的wikitext}}
- 参数1:定义函数中的变量名,可在参数4中输出时使用。
- 参数2:开始值,上例中为1,即表示从1开始计算。也可以是其他数字,比如角色卡抽到手就已经是3星,填3,从3开始。
- 参数3:执行次数,如上例中的4。也可以是负数,如-4,同样执行4次,但参数1中变量变为递减。
- 参数4:重复输出的内容。可以利用{{#var:变量名}}来改变重复输出时的内容。
- 例子
- {{#loop: loop_i|1|4|这是第→{{#var:loop_i}}轮重复,还有{{#expr: 4 -轮待输出。{{#var: loop_i}}}}<br>}}
- 这是第1轮重复,还有3轮待输出。
这是第2轮重复,还有2轮待输出。
这是第3轮重复,还有1轮待输出。
这是第4轮重复,还有0轮待输出。
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:角色 - 航海王:梦想指针
- 模板:剧情 - 机甲爱丽丝
- 模板:回忆图鉴 - 突击莉莉终结之弹
- 模板:星级 - 突击莉莉终结之弹
- 模板:干员导航 - 明日方舟
- 模板:材料 - 神佑释放
- 模板:舰载机图鉴 - 碧蓝航线
- 模板:三列勇士表 - 克鲁赛德战记
- 模板:动态展示 - CrashFever
- 模板:主页链接块 - 城市:天际线
lst
引用特定页面内已预先标记的内容段落。只要在目标页面内,把目标内容用
和
包裹,就可以在任何页面中使用此函数引用该段内容。如果段落名称内不含空格等在XML语法中有特殊意思的字符,段落名称前后的半形引号则可略去。
出自扩展 Labeled Section Transclusion。
- 格式
- {{#lst: 页面名称|段落名称}}
- 例子
- 以下例子引用了词条帮助:样板中名为“标记内容”的段落。
- {{#lst: 帮助:样板|标记内容}}→
这里显示的是样板内容 |
- 样板里对应的代码大致如下:
<section begin=标记内容 /> {| class="wikitable" style="width:50%" |- | 这里显示的是样板内容 |} <section end=标记内容 />
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:材料图鉴 - 明日方舟
- 模板:吸血 - 物竞天择2
- 模板:异形结构 - 物竞天择2
- 模板:步枪基础 - 物竞天择2
- 模板:生物量技能表 - 物竞天择2
- 模板:电磁手雷 - 物竞天择2
- 模板:硬壳 - 物竞天择2
- 模板:神经毒气雷 - 物竞天择2
- 模板:当前信息 - 食物语-档案馆
lsth
- 参考官方文档和其他文档完善内容
- 增加实际用例和技巧
引用特定页面内位于特定标题下的内容段落。此函数使用方法比lst简单,不需要使用section来定义段落,只需要使用标题(例如== 标题 ==
)。此函数会引用指定的标题之后开始,下一个同级标题之前的结束的内容,并不会包含标题本身。另外可以设定结束子标题名称,让函数引用从子标题名称开始直到结束子标题名称之前的所有内容,此功能可以用于同时引用多个段落,只要遇到结束子标题,不管是不是同级标题也会立刻停止引用,并不会引用到结束子标题及其后的内容。
出自扩展 Labeled Section Transclusion。
- 格式
- {{#lsth: 页面名称|子标题名称|结束子标题名称}}
- 例子
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
lstx
- 参考官方文档和其他文档完善内容
- 增加实际用例和技巧
引用特定页面内除了已预先标记的段落以外的内容,并可以选择用其他字串代替被去掉的段落。
出自扩展 Labeled Section Transclusion。
- 格式
- {{#lstx: 页面名称|除去段落名称|代替字串}}
- 例子
- {{#lstx:帮助:样板|标记内容|请查看→[[帮助:样板#样板1]]}}
==样板1== 请查看[[帮助:样板#样板1]] ==样板2==
- 此函数比较难用,因为大部分词条除了文字内容还会有很多用于分类和导航的部分。比如使用以上的例子的话就会把原词条内的分类信息和导航段落也一并引用了,对分类管理和内容排版非常不友好。此函数亦无法同时不引用两段或以上的内容,所以设定更多段落排除分类等信息的方法也是不行的。
lstapp
出自扩展ParserPower。
lstcnt
出自扩展ParserPower。
lstcntuniq
出自扩展ParserPower。
lstelem
出自扩展ParserPower。
lstfltr
出自扩展ParserPower。
lstfnd
出自扩展ParserPower。
lstind
出自扩展ParserPower。
lstjoin
出自扩展ParserPower。
lstmap
出自扩展ParserPower。
lstmaptemp
出自扩展ParserPower。
lstprep
出自扩展ParserPower。
lstrm
出自扩展ParserPower。
lstsep
出自扩展ParserPower。
lstsrt
出自扩展ParserPower。
lstsub
出自扩展ParserPower。
lstuniq
出自扩展ParserPower。
N
namespace
获取指定页面的命名空间。
MediaWiki原生函数。
- 格式
- {{NAMESPACE: 页面名}}
- 例子
- {{NAMESPACE:帮助:解析函数}}→
帮助
- {{NAMESPACE:首页}}→
- {{NAMESPACE:模板:2333}}→
模板
- {{NAMESPACE:帮助:解析函数}}→
帮助
- 底层代码
- 尝试将输入字符串作为标题解析。如果解析成功,返回其命名空间名称。
- 其核心功能由Title类提供。
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:Documentation - 蓝色协议
- 模板:Pagename nd - 《逃离塔科夫》官方 Wiki(镜像)
- 模板:Documentation - 小马国传奇
- 模板:Transclude - 我的世界地下城
- 模板:Transclude - Minecraft WIKI
- 模板:Doc - NieR系列
- 模板:Category redirect - 监狱建筑师
- 模板:Namespace detect - 监狱建筑师
- 模板:Transclude - 幸福工厂
- 模板:Documentation - 宇宙猜想
namespacee
获取指定页面的命名空间名称,并URL编码。
MediaWiki原生函数。
- 格式
- {{NAMESPACEE: 页面名}}
- 例子
- {{NAMESPACEE:帮助:解析函数}}→
%E5%B8%AE%E5%8A%A9
- {{NAMESPACEE:首页}}→
- {{NAMESPACEE:模板:2333}}→
%E6%A8%A1%E6%9D%BF
- {{NAMESPACEE:帮助:解析函数}}→
%E5%B8%AE%E5%8A%A9
- 底层代码
- 尝试将输入字符串作为标题解析。如果解析成功,将其命名空间名称URL编码后返回。
- 其核心功能由Title类提供。
namespacenumber
获取指定页面的命名空间代码。
MediaWiki原生函数。
- 格式
- {{NAMESPACENUMBER: 页面名}}
- 例子
- {{NAMESPACENUMBER:首页}}→
0
- {{NAMESPACENUMBER:帮助:解析函数}}→
12
- {{NAMESPACENUMBER:模板:2333}}→
10
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:Dependency declaration - 我的世界地下城
- 模板:Template dependency declaration - 我的世界地下城
- 模板:Dependency declaration - Minecraft WIKI
- 模板:Template dependency declaration - Minecraft WIKI
- 模板:Main - 女神转生
- 模板:Mainw - 女神转生
- 模板:Main - QQ自由幻想
- 模板:Main - 美妙世界
ns
获取命名空间在当前语言中的名称。
MediaWiki原生函数。
- 格式
- {{ns: 命名空间编号}}
- {{ns: 命名空间名称}}
- {{ns: 命名空间别名}}
- 例子
- {{ns: -2}}→
媒体文件
- {{ns: -1}}→
特殊
- {{ns: Special}}→
特殊
- {{ns: 特殊}}→
特殊
- {{ns: 10}}→
模板
- {{ns: 11}}→
模板讨论
- {{ns: Category}}→
分类
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:模板说明/文档 - 机甲爱丽丝
- 模板:风险 - BangDream!少女乐团派对
- 模板:切换显示/文档 - 白荆回廊
- 模板:编辑提示 - 白荆回廊
- 模板:模板说明/文档 - 猫之城
- 模板:风险 - 猫之城
- 模板:模板说明/文档 - 封印者
- 模板:风险 - 封印者
- 模板:角色/文档 - CrashFever
- 模板:风险 - 银河境界线
nse
获取命名空间在当前语言中的名称,并URL编码。
MediaWiki原生函数。
- 格式
- {{nse: 命名空间编号}}
- {{nse: 命名空间名称}}
- {{nse: 命名空间别名}}
- 例子
- {{nse: -2}}→
%E5%AA%92%E4%BD%93%E6%96%87%E4%BB%B6
- {{nse: -1}}→
%E7%89%B9%E6%AE%8A
- {{nse: Special}}→
%E7%89%B9%E6%AE%8A
- {{nse: 特殊}}→
%E7%89%B9%E6%AE%8A
- {{nse: 10}}→
%E6%A8%A1%E6%9D%BF
- {{nse: 11}}→
%E6%A8%A1%E6%9D%BF%E8%AE%A8%E8%AE%BA
- {{nse: Category}}→
%E5%88%86%E7%B1%BB
numberingroup
获取特定用户组权限的用户数量。
MediaWiki原生函数。
- 格式
- {{NUMBERINGROUP: 群组名称}}
- 例子
- {{NUMBERINGROUP: bureaucrat}}→
8
- {{NUMBERINGROUP: confirm}}→
0
- {{NUMBERINGROUP: sysop}}→
16
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
numberofactiveusers
获取当前活跃的用户数量,与特殊:统计信息中显示的活跃用户一致。
MediaWiki原生函数。
- 格式
- {{NUMBEROFACTIVEUSERS}}
- 例子
- {{NUMBEROFACTIVEUSERS}}→
10
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:Fantôme Iris卡面一览 - ARGONAVIS
- 模板:Wiki信息 - ARGONAVIS
- 模板:卡面一览 - ARGONAVIS
- 模板:小剧场全员 - ARGONAVIS
- 模板:站点信息 - 暗黑破坏神:不朽
- 模板:HomePage - 碧蓝档案
numberofadmins
获取管理员数量,与特殊:统计信息中显示的一致。
MediaWiki原生函数。
- 格式
- {{NUMBEROFADMINS}}
- 例子
- {{NUMBEROFADMINS}}→
16
numberofarticles
获取内容页面数量,与特殊:统计信息中显示的一致。
MediaWiki原生函数。
- 格式
- {{NUMBEROFARTICLES}}
- 例子
- {{NUMBEROFARTICLES}}→
148
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
numberofedits
获取总编辑次数,与特殊:统计信息中显示的一致(项目:自 WIKI实验室 建立以来的页面编辑数)。
MediaWiki原生函数。
- 格式
- {{NUMBEROFEDITS}}
- 例子
- {{NUMBEROFEDITS}}→
15,462
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:Wiki信息 - ARGONAVIS
- 模板:卡面一览 - ARGONAVIS
- 模板:站点信息 - 暗黑破坏神:不朽
- 模板:HomePage - 碧蓝档案
- 模板:关于我们 - 冲呀!饼干人王国
- 模板:维护页面 - 激战2
- 模板:Bf - 森之国度
numberoffiles
获取媒体文件数量,与特殊:统计信息中显示的一致(项目:上传的文件)。
MediaWiki原生函数。
- 格式
- {{NUMBEROFFILES}}
- 例子
- {{NUMBEROFFILES}}→
167
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
numberofpages
获取所有页面数量,与特殊:统计信息中显示的一致(项目:页面(本wiki的所有页面,包括讨论页面、重定向等。))。
MediaWiki原生函数。
- 格式
- {{NUMBEROFPAGES}}
- 例子
- {{NUMBEROFPAGES}}→
2,253
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:Wiki信息 - ARGONAVIS
- 模板:卡面一览 - ARGONAVIS
- 模板:小剧场全员 - ARGONAVIS
- 模板:站点信息 - 暗黑破坏神:不朽
- 模板:HomePage - 碧蓝档案
- 模板:关于我们 - 冲呀!饼干人王国
- 模板:关于本WIKI - 白荆回廊
numberofpageviews
【已弃用MediaWiki Version: ≤ 1.25】页面浏览次数。由于缓存,它通常是不准确的。
MediaWiki原生函数。
- 格式
- {{NUMBEROFPAGEVIEWS}}
- 例子
- {{NUMBEROFPAGEVIEWS}}→
390
numberofusers
站点注册用户数量。
在BWIKI上,登录B站的用户第一次浏览某Wiki时,会自动创建wiki用户(基于B站账号),并自动赋予bilibili和自动确认用户等用户组。
MediaWiki原生函数。
- 格式
- {{NUMBEROFUSERS}}
- 例子
- {{NUMBEROFUSERS}}→
6,947,424
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:Wiki信息 - ARGONAVIS
- 模板:小剧场全员 - ARGONAVIS
- 模板:站点信息 - 暗黑破坏神:不朽
- 模板:HomePage - 碧蓝档案
- 模板:关于我们 - 冲呀!饼干人王国
- 模板:Wiki数据 - 偶像荣耀/idoly pride
- 模板:进度条 - 黑暗料理王
- 模板:关于wiki - 公主连结
- 模板:关于本WIKI - 崩坏:星穹铁道
- 模板:关于本WIKI - 闪耀!优俊少女
- 模板:Bf - 森之国度
- 模板:首页右侧 - 战争雷霆
- 模板:首页新图标 - 原神
numberofviews
【已弃用MediaWiki Version: ≤ 1.25】站点浏览次数。与特殊:统计信息中的 查看统计 - 总计查看 一致。
MediaWiki原生函数。
- 格式
- {{NUMBEROFVIEWS}}
- 例子
- {{NUMBEROFVIEWS}}→
894,443
O
or
- 参考官方文档和其他文档完善内容
- 增加实际用例和技巧
出自扩展 ParserPower。
- 格式
- {{#or: 字符串1|字符串2|…|字符串n}}
- 例子
- {{#or: 1|2}}→
1
- {{#or:|2}}→
2
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:关键词链接 - 铃兰之剑
- 模板:Coloricon - 星际迷航OL
- 模板:Icon - 星际迷航OL
- 模板:Rnditem - 星际迷航OL
- 模板:主模板 工具 - Terraria Wiki
P
padleft
往字串左边填充特定符号直到一定长度,多字节文字也算一个字,原字串为空的话还可以当作repeat用,如果原字串长度比需要的长度长,则不会做任何处理。
MediaWiki原生函数。
- 格式
- {{padleft: 原字串|需要的长度(字符数)|填充字串(默认为“0”)}}
- 例子
- {{padleft: 15|5}}→
00015
- {{padleft: xyz|5}}→
00xyz
- {{padleft: 原字串|10|填}}→
填填填填填填填原字串
- {{padleft: 原字串|10|填充}}→
填充填充填充填原字串
- {{padleft:|5|你好}}→
你好你好你
- {{padleft:|5|大家好}}→
大家好大家
- {{padleft: 这个真心太长了吧|5|填}}→
这个真心太长了吧
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:同人作品 - 少前:云图计划
- 模板:Mp3 - ARGONAVIS
- 模板:掉落表列表 - 突击莉莉终结之弹
- 模板:FormatCardNo - 妃十三学园
- 模板:歌曲 - BangDream!少女乐团派对
- 模板:活动歌曲称号 - BangDream!少女乐团派对
- 模板:同人作品 - 碧蓝航线
- 模板:漫画 - 碧蓝航线
- 模板:生日 - 碧蓝航线
- 模板:舰炮图鉴 - 碧蓝航线
padright
往字串右边填充特定符号直到一定长度,多字节文字也算一个字,原字串为空的话还可以当作repeat用,如果原字串长度比需要的长度长,则不会做任何处理。
MediaWiki原生函数。
- 格式
- {{padright: 原字串|需要的长度(字符数)|填充字串(默认为“0”)}}
- 例子
- {{padright: 15|5}}→
15000
- {{padright: xyz|5}}→
xyz00
- {{padright: 原字串|10|填}}→
原字串填填填填填填填
- {{padright: 原字串|10|填充}}→
原字串填充填充填充填
- {{padright:|5|你好}}→
你好你好你
- {{padright:|5|大家好}}→
大家好大家
- {{padright: 这个真心太长了吧|5|填}}→
这个真心太长了吧
pageid
获取页面的ID,是页面的唯一标识符。
MediaWiki原生函数。
- 格式
- {{PAGEID:页面名}}
- 例子
- {{PAGEID:首页}}→
1
- {{PAGEID:帮助:解析函数}}→
2216
- {{PAGEID:不存在的页面233333}}→
0
- 其他用法
- 可以用于构建页面“短链”如 https://wiki.biligame.com/wikipath/?curid=页面ID
- 如帮助:解析函数页:https://wiki.biligame.com/tools/?curid=2216
- 需要注意,这个URL会有独立的缓存能加速访问,类似wiki对js/css资源的缓存,约半小时。
pagename
获取页面名,不带有命名空间。
MediaWiki原生函数。
- 格式
- {{PAGENAME}}
- 例子
- {{PAGENAME}}→
解析函数
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:文章戳 - 公元0年
- 模板:模板 - 公元0年
- 模板:信息表格 - 零号任务
- 模板:角色 - 航海王:梦想指针
- 模板:家具 - 少前:云图计划
- 模板:文章模板 - 剑与远征
- 模板:Actress - 机甲爱丽丝
- 模板:剧情 - 机甲爱丽丝
- 模板:Card - 妃十三学园
- 模板:关卡 - 明日方舟
pagenamee
获取URL编码的页面名,不带有命名空间。
MediaWiki原生函数。
- 格式
- {{PAGENAMEE}}
- 例子
- {{PAGENAMEE}}→
%E8%A7%A3%E6%9E%90%E5%87%BD%E6%95%B0
pagesincategory
返回属于特定分类的页面数量。
MediaWiki原生函数。
- 格式
- {{PAGESINCATEGORY: 分类名}}
{{PAGESINCATEGORY: 分类名 | all / pages / subcats / files}}
默认all
- 例子
- {{PAGESINCATEGORY: 施工中}}→
33
- {{PAGESINCATEGORY: 施工中|files}}→
0
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:已实装舰船数量 - 碧蓝航线
- 模板:维护页面 - 激战2
- 模板:Autovalue see also - 我的世界地下城
- 模板:ProgressBar/doc - 我的世界地下城
- 模板:Version nav - 我的世界地下城
- 模板:Autovalue see also - Minecraft WIKI
- 模板:ProgressBar/doc - Minecraft WIKI
- 模板:Version nav - Minecraft WIKI
- 模板:Category redirect - 监狱建筑师
pagesize
获取指定页面大小(字节)。
可以指定不格式化数字;不存在的页面大小为0。
MediaWiki原生函数。
- 格式
- {{PAGESIZE: 页面名}}
- {{PAGESIZE: 页面名|R}}不格式化数字
- 例子
- {{PAGESIZE: 帮助:解析函数}}→
18,479
- {{PAGESIZE: 帮助:解析函数|R}}→
18479
- {{PAGESIZE: 不存在的页面23333333}}→
0
plural
用于语言复数判断。如果参数1是一个绝对值等于1的表达式,返回参数2(单数情况),否则返回参数3(复数情况)。部分语言如俄语支持第四个参数。
MediaWiki原生函数。
- 格式
- {{plural: wikitext|单数情况|复数情况}}
- 例子
- {{plural: 0|is|are}}→
are
- {{plural: 1|is|are}}→
is
- {{plural: -1|is|are}}→
is
- {{plural: 2|is|are}}→
are
- {{plural:→{{#expr:21 mod 10}}|is|are}}
is
pos
查找指定字符串首次出现的位置,从左到右搜索,没有则返回空。
区分大小写。nowiki标签及其中内容算作一个不匹配任何内容的字符。
出自扩展 ParserFunctions的String functions。
- 格式
- {{#pos: 字符串|搜索目标}}
- {{#pos: 字符串|搜索目标|偏移量}}指定偏移量,从第几个字符开始搜索
- 例子
- {{#pos: 这是长字串|字串}}→
3
- {{#pos: 这是长字串长|长}}→
2
- {{#pos: 这是长字串长|长|4}}→
5
- {{#pos: 这是长字串|哈}}→
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:角色 - 航海王:梦想指针
- 模板:模组/个 - 明日方舟
- 模板:舰娘图鉴 - 碧蓝航线
- 模板:Tabber - 封印者
- 模板:曲包 - 音乐世界Cytus II
- 模板:收藏物品 - Deemo II
- 模板:管理喵芯片 - 深空之眼
- 模板:物品 - 戴森球计划
- 模板:信息 - 第五人格
- 模板:图鉴 - 地下城堡2
protectionexpiry
查询某页面指定动作的保护时间。
页面不存在或错误的动作返回空,无限期则返回infinity。
MediaWiki原生函数。
- 格式
- {{PROTECTIONEXPIRY: 动作}}查询本页面
- {{PROTECTIONEXPIRY: 动作|页面名}}【高开销】查询指定页面对指定动作的保护时间
- 例子
- {{PROTECTIONEXPIRY: edit}}→
infinity
- {{PROTECTIONEXPIRY: move}}→
infinity
- {{PROTECTIONEXPIRY: edit|不存在的页面233333}}→
- {{PROTECTIONEXPIRY: move|不存在的页面233333}}→
- {{PROTECTIONEXPIRY: edit|保护页面示例}}→
infinity
- {{PROTECTIONEXPIRY: move|保护页面示例}}→
infinity
- {{PROTECTIONEXPIRY: edit|保护页面示例/有期限的}}→
20990908160000
- {{PROTECTIONEXPIRY: move|保护页面示例/有期限的}}→
20990908160000
- {{PROTECTIONEXPIRY: abcdefg|保护页面示例}}→
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:Ifexists - 激战2
- 模板:Linkless exists - 我的世界地下城
- 模板:Sandbox/BlockEN - 我的世界地下城
- 模板:Linkless exists - Minecraft WIKI
- 模板:Sandbox/BlockEN - Minecraft WIKI
- 模板:Character - 骷髅女孩
- 模板:Linkless exists - 骷髅女孩
protectionlevel
查询某页面指定动作的保护等级。
没有保护返回空,仅限特定用户组会返回用户组名,例如仅限管理员会返回sysop。
MediaWiki原生函数。
- 格式
- {{PROTECTIONLEVEL: 动作}}查询本页面
- {{PROTECTIONLEVEL: 动作|页面名}}【高开销】查询指定页面对指定动作的保护时间
- 例子
- {{PROTECTIONLEVEL: edit}}→
- {{PROTECTIONLEVEL: move}}→
- {{PROTECTIONLEVEL: edit|保护页面示例}}→
sysop
- {{PROTECTIONLEVEL: move|保护页面示例}}→
sysop
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
Q
queryformlink
- 参考官方文档和其他文档完善内容
- 增加实际用例和技巧
特殊:执行查询
出自扩展 Page Forms。
- 格式
- {{#queryformlink:form=query form name}}
- {{#queryformlink:form=|link text=|link typ=|query string=query string parameters|tooltip=|popup}}
- 例子
code demo
→ 效果
R
rel2abs
将相对路径转换为绝对路径。
出自扩展 ParserFunctions。
- 格式
- {{#rel2abs: 相对路径}}
- {{#rel2abs: 相对路径|基础路径}}
- 说明
- '相对路径'参数中,支持下列格式:
.
→ 当前路径级别..
→ “至上一级路径”/foo
→ “至下一级子目录 /foo”
- 如果'基础路径'参数没有被指定,则会使用当前页面的完整页面名称(可使用{{FULLPAGENAME}}获得,本页为
帮助:解析函数
)。 - 例子
- 一般情况如下:
- {{#rel2abs: /quok|Help:Foo/bar/baz}}→
Help:Foo/bar/baz/quok
- {{#rel2abs: ./quok|Help:Foo/bar/baz}}→
Help:Foo/bar/baz/quok
- {{#rel2abs: ../quok|Help:Foo/bar/baz}}→
Help:Foo/bar/quok
- {{#rel2abs: ../.|Help:Foo/bar/baz}}→
Help:Foo/bar
/.
、/./
之类不正确的格式会被忽略。不允许出现连续两个以上的句点.
,多层路径移动如下:- {{#rel2abs: ../quok/.|Help:Foo/bar/baz}}→
Help:Foo/bar/quok
- {{#rel2abs: ../../quok|Help:Foo/bar/baz}}→
Help:Foo/quok
- {{#rel2abs: ../../../quok|Help:Foo/bar/baz}}→
quok
- {{#rel2abs: ../../../../quok|Help:Foo/bar/baz}}→
错误:无效路径深度:“Help:Foo/bar/baz/../../../../quok”(尝试访问根节点以上节点)
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:Doc - 看门狗
- 模板:Doc - 忘却前夜
- 模板:Doc - 红警3
- 模板:Docpage - 红警3
- 模板:Doc - 斯露德
- 模板:Docpage - 斯露德
- 模板:Doc - 战争雷霆
- 模板:Docpage - 战争雷霆
replace
返回给定的字符串,其中所有出现的搜索词都被替换为替换词。
此功能区分大小写。
如果搜索词未指定或为空,则将搜索单个空格。
如果替换词未指定或者为空,则所有出现的搜索词都将从字符串中删除。
即使替换词是空格,也会使用空字符串。这是 MediaWiki 解析器的副作用。要使用空格作为替换词,请将其放在 nowiki 标记中。
要用正则表达式匹配替换,请用:rreplace。
出自扩展 ParserFunctions的String functions。
- 格式
- {{#replace: 源字符串|搜索项|替换项}}
- 例子
- {{#replace:Clown piece}}→
Clownpiece
- {{#replace:My_little_home_page|_|→<nowiki> </nowiki>}}
Mylittlehomepage
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:角色 - 航海王:梦想指针
- 模板:新版角色图鉴 - 另一个伊甸
- 模板:角色图鉴 - 另一个伊甸
- 模板:首页列席 - 环形战争
- 模板:编辑按钮 - 帝国时代2决定版
- 模板:时装/个 - 明日方舟
- 模板:外部链接 - 崩坏3
- 模板:关卡图鉴 - 碧蓝航线
- 模板:生日 - 克鲁赛德战记
- 模板:DLC/查询 - 城市:天际线
revisionday
获取指定页面更新日期的日(day),无前导0。
MediaWiki原生函数。
- 格式
- {{REVISIONDAY}}
- {{REVISIONDAY: 词条名}}【高开销】
- 例子
- {{REVISIONDAY}}→
26
- {{REVISIONDAY: Test}}→
13
- {{REVISIONDAY: 首页}}→
8
- {{REVISIONDAY: 模板:面包屑}}→
8
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:视频戳 - 机甲爱丽丝
- 模板:文章模板 - 明日方舟
- 模板:施工中 - 明日方舟
- 模板:施工中 - 白荆回廊
- 模板:文章时效 - 封印者
- 模板:文章戳 - 四叶草剧场
- 模板:视频 - 千年之旅
- 模板:更改日志 - 腐蚀
- 模板:最后更新 - 银河足球队
- 模板:意识组合推荐 - 战双帕弥什
revisionday2
获取指定页面更新日期的日(day),有前导0(如06)。
MediaWiki原生函数。
- 格式
- {{REVISIONDAY2}}
- {{REVISIONDAY2: 词条名}}【高开销】
- 例子
- {{REVISIONDAY2}}→
26
- {{REVISIONDAY2: Test}}→
13
- {{REVISIONDAY2: 首页}}→
08
- {{REVISIONDAY2: 模板:面包屑}}→
08
revisionid
获取页面最新的修订ID。
修订ID是一个wiki站点对每次编辑按顺序分配的唯一标识。更大的revisionid代表着更近更新的编辑。
MediaWiki原生函数。
- 格式
- {{REVISIONID}}
- {{REVISIONID: 词条名}}【高开销】
- 例子
- {{REVISIONID}}→
49370
- {{REVISIONID: 首页}}→
46790
- 不存在的页面返回空 {{REVISIONID: 不存在的233333333333}}→
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
revisionmonth
获取指定页面更新日期中的月,有前导零(即01月)。
MediaWiki原生函数。
- 格式
- {{REVISIONMONTH}}
- {{REVISIONMONTH|页面名}}【高开销】
- 例子
- {{REVISIONMONTH}}→
06
- {{REVISIONMONTH: 首页}}→
05
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:视频戳 - 机甲爱丽丝
- 模板:文章模板 - 明日方舟
- 模板:施工中 - 明日方舟
- 模板:文章时效 - 封印者
- 模板:最后更新 - 克鲁赛德战记
- 模板:更新时间 - 都市天际线2
- 模板:更新时间 - 城市:天际线
revisionmonth1
获取指定页面更新日期中的月,无前导零(即1月)。
MediaWiki原生函数。
- 格式
- {{REVISIONMONTH1}}
- {{REVISIONMONTH1|页面名}}【高开销】
- 例子
- {{REVISIONMONTH1}}→
6
- {{REVISIONMONTH1: 首页}}→
5
revisiontimestamp
获取指定页面更新时间的时间戳,格式:YYYYMMDDHHMMSS
。
MediaWiki原生函数。
- 格式
- {{REVISIONTIMESTAMP}}
- {{REVISIONTIMESTAMP: 页面名}}【高开销】
- 例子
- {{REVISIONTIMESTAMP}}→
20240626194451
- {{REVISIONTIMESTAMP: 首页}}→
20240508192335
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:回忆图鉴 - 突击莉莉终结之弹
- 模板:文章时效 - 封印者
- 模板:TimeSinceLastEdit - CSGO
- 模板:版头/提示 - 地下城堡2
- 模板:文章时效 - 异星工厂
- 模板:编写中 - falcon bms
- 模板:施工中 - 方舟指令
- 模板:待完善 - 高达
- 模板:文章时效 - 来古弥新
revisionuser
获取指定页面最后编辑的用户名(bid,B站用户唯一标识)。
因为BWIKI与B站账号互通,首次访问某wiki时,系统会自动在对应wiki创建以bid为用户名的用户,因此对于所有BWIKI上的站点,用户的用户名都是bid。 (需要注意,BWIKI职员/管理账号、导入的编辑可能会出现非bid、非数字的用户名)
比如对于bid 39886146的用户,可以通过https://space.bilibili.com/39886146
访问一个人的B站用户页。
也可以通过B站/BWiki的API查询获取用户的公开信息。
MediaWiki原生函数。
- 格式
- {{REVISIONUSER}}
- {{REVISIONUSER: 页面名}}
- 例子
- {{REVISIONUSER}}→
123855714
- {{REVISIONUSER: 首页}}→
123855714
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:施工中 - 少前:云图计划
- 模板:编辑提示 - 白荆回廊
- 模板:施工中 - 碧蓝航线
- 模板:最后更新 - 克鲁赛德战记
- 模板:最后更新 - 放置江湖
- 模板:施工中 - 方舟指令
- 模板:编辑提示 - 幻塔
- 模板:最后更新 - 边狱公司
- 模板:最后更新 - 神甲奇兵
revisionyear
获取指定页面最近更新日期的年,如:2024。
MediaWiki原生函数。
- 格式
- {{REVISIONYEAR}}
- {{REVISIONYEAR: 页面名}}【高开销】
- 例子
- {{REVISIONYEAR}}→
2024
- {{REVISIONYEAR: 首页}}→
2024
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:视频戳 - 机甲爱丽丝
- 模板:文章模板 - 明日方舟
- 模板:施工中 - 明日方舟
- 模板:更新时间 - 都市天际线2
- 模板:更新时间 - 城市:天际线
- 模板:文章戳 - 戴森球计划
- 模板:文章时效 - 戴森球计划
rmatch
基于正则表达式匹配文本
正则表达式对任何字符都敏感,包括空格。
如果匹配成功 $#
和 \#
包含捕获的文本。如果您想要一个组后跟另一个数字,请使用 ${#}#
,#
为数字。
出自扩展 RegexFunctions。
- 格式
- {{#rmatch:string|pattern|then|else}}
- {{#rmatch:源字符串|正则表达式|匹配|不匹配}}
- 例子
- {{#rmatch: toolswiki是WIKI实验室|\w+|匹配|不匹配}}→
匹配
- {{#rmatch: toolswiki是WIKI实验室| \w+ |匹配|不匹配}}→
不匹配
(由于表达式中包含了空格导致匹配失败,因为空格也属于表达式的一部分) - {{#rmatch: toolswiki是WIKI实验室|([a-z]+)|$1}}→
toolswiki
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:建筑图示/不升 - 江南百景图
- 模板:悬浮框/建筑 - 江南百景图
- 模板:技能图标 - 英雄联盟
- 模板:訊息 - 七星传
- 模板:内容内链 - 天地劫
- 模板:战阵 - 天地劫
- 模板:技能 - 天地劫
- 模板:Info - 东方归言录
- 模板:图片缺失查找 - 原神
rootpagename
对于子页面,获取根页面名(不包括命名空间)。
MediaWiki原生函数。
- 格式
- {{ROOTPAGENAME}}
- 例子
- 当前页 {{ROOTPAGENAME}}→ 解析函数
- 对于“帮助:Title/foo/bar” 页面 {{ROOTPAGENAME}}→
Title
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:编辑提示 - 白荆回廊
- 模板:同人作品 - 封印者
- 模板:卡马逊特权 - 坎特伯雷公主与骑士唤醒冠军之剑的奇幻冒险
- 模板:魔卡图鉴 - 坎特伯雷公主与骑士唤醒冠军之剑的奇幻冒险
- 模板:编辑提示 - 幻塔
- 模板:物品介绍框 - 开普勒斯
- 模板:丹药 - 觅长生
- 模板:优化丹方 - 觅长生
- 模板:优化丹方/个 - 觅长生
- 模板:药材/主观 - 觅长生
rootpagenamee
对于子页面,获取URL编码的根页面名(不包括命名空间)。
MediaWiki原生函数。
- 格式
- {{ROOTPAGENAMEE}}
- 例子
- 当前页 {{ROOTPAGENAMEE}}→ %E8%A7%A3%E6%9E%90%E5%87%BD%E6%95%B0
- 对于“帮助:点点/赛/高” 页面 {{ROOTPAGENAMEE}}→
%E7%82%B9%E7%82%B9
(点点的URL编码)
rpos
基于正则表达式匹配文本
正则表达式对任何字符都敏感,包括空格。
如果匹配成功 $#
和 \#
包含捕获的文本。如果您想要一个组后跟另一个数字,请使用 ${#}#
,#
为数字。
出自扩展 RegexFunctions。
- 格式
- {{#rmatch:string|pattern|then|else}}
- {{#rmatch:源字符串|正则表达式|匹配|不匹配}}
- 例子
- {{#rmatch: toolswiki是WIKI实验室|\w+|匹配|不匹配}}→
匹配
- {{#rmatch: toolswiki是WIKI实验室| \w+ |匹配|不匹配}}→
不匹配
(由于表达式中包含了空格导致匹配失败,因为空格也属于表达式的一部分) - {{#rmatch: toolswiki是WIKI实验室|([a-z]+)|$1}}→
toolswiki
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:建筑图示/不升 - 江南百景图
- 模板:悬浮框/建筑 - 江南百景图
- 模板:技能图标 - 英雄联盟
- 模板:訊息 - 七星传
- 模板:内容内链 - 天地劫
- 模板:战阵 - 天地劫
- 模板:技能 - 天地劫
- 模板:Info - 东方归言录
- 模板:图片缺失查找 - 原神
rreplace
基于正则表达式替换文本
正则表达式对任何字符都敏感,包括空格。
如果匹配成功 $#
和 \#
包含捕获的文本。如果您想要一个组后跟另一个数字,请使用 ${#}#
,#
为数字。
出自扩展 RegexFunctions。
- 格式
- {{#rreplace:string|pattern|replacement}}
- {{#rreplace:源字符串|正则表达式|替换文本}}
- 例子
- {{#rreplace:bilibiliBWIKIbilibili|bilibili|哔哩哔哩}}→
哔哩哔哩BWIKI哔哩哔哩
- 这个例子中,将待处理文本中的所有“bilibili”替换成了“哔哩哔哩”。
- {{#rreplace:bilibiliBWIKIbilibili|(b→{{!}}l)|replacement=<span style="color:red">\1</span>}}
bilibiliBWIKIbilibili
- 这个例子中,将待处理的文本通过正则表达式,把
b
和l
处理成红色标记。
- 这个例子中,将待处理的文本通过正则表达式,把
- {{#rreplace:bilibiliBWIKIbilibili|(KI)|replacement=→<span style="color:red">${1}1</span>}}
bilibiliBWIKI1bilibili
- 这个例子中,将待处理的文本通过正则表达式,把KI替换成了KI1并标红。由于$11表示的是第11个匹配的内容,并不是我们想要的正确表达式,所以这里需要将
$11
写成${1}
再加上添加的1
,即${1}1
。
- 这个例子中,将待处理的文本通过正则表达式,把KI替换成了KI1并标红。由于$11表示的是第11个匹配的内容,并不是我们想要的正确表达式,所以这里需要将
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:勇士图鉴 - 克鲁赛德战记
- 模板:图标 - 克鲁赛德战记
- 模板:处理内链 - 梦幻模拟战
- 模板:数值标红 - 铃兰之剑
- 模板:英雄图鉴/保留 - 英雄联盟
- 模板:头像列表 - 忍者必须死3
- 模板:角色导航头像 - 公主连结
- 模板:剧情 - 赛尔号
- 模板:内容内链 - 天地劫
rsplit
基于正则表达式分割字符串,并返回指定片段。
正则表达式对任何字符都敏感,包括空格。
片段序号从左往右数为0开始的正整数,从右往左数则为-1开始的负整数。
出自扩展 RegexFunctions。
- 格式
- {{#rsplit:string|pattern|piece}}
- {{#rsplit:源字符串|正则表达式}}
- {{#rsplit:源字符串|正则表达式|片段序号}}
- 例子
- {{#rsplit:One Two Three Four|\s+}}→
One
- {{#rsplit:One Two Three Four|\s+|1}}→
Two
- {{#rsplit:One Two Three Four|\s+|2}}→
Three
- {{#rsplit:One Two Three Four|\s+|-1}}→
Four
S
seo
设置页面的SEO(搜索引擎优化)信息,如title和meta标签内容。
出自扩展 WikiSEO。
- 格式
- {{#seo:|title=页面标题}}
- {{#seo:|title=页面标题|title_mode=replace / prepend / append}}标题位置。replace是替换(默认),prepend是前置增加,append是追加。
- {{#seo:|title=页面标题|title_mode=prepend|title_separator=<<}}title_separator是分隔符,位于前置/追加的标题与原标题中间的分割。默认是
-
。 - {{#seo:|keywords=Apple, Pears, Oranges}}页面关键词,以半角逗号分割
- {{#seo:|description=This page contains information about...}}页面简述
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:Card - 妃十三学园
- 模板:首页 - 鬼泣5
- 模板:卡片详情 - 英雄对决
- 模板:卡组详情 - Rebirth for you
- 模板:图鉴 - 红警3
- 模板:Infobox 角色 - 刺猬索尼克
- 模板:图鉴数据 - 森之国度
- 模板:卡片详情 - VG卡片战斗先导者
- 模板:卡片详情 - 黑白双翼WS
set
出自Semantic Mediawiki。请参见帮助:SMW#set。
set_recurring_event
出自Semantic Mediawiki。请参见帮助:SMW#set_recurring_event。
show
出自Semantic Mediawiki。请参见帮助:SMW#show。
smwdoc
出自Semantic Mediawiki。请参见帮助:SMW#smwdoc。
special
指定的特殊页面在当前语言中的全名(包含命名空间)。
MediaWiki原生函数。
- 格式
- {{#special: 页面名称}}
- 例子
- {{#special: 特殊页面}}→
特殊:特殊页面
- {{#special: specialpages}}→
特殊:特殊页面
- {{#special: ask}}→
特殊:询问
- {{#special: ExpandTemplates}}→
特殊:展开模板
- {{#special: 2333333333}}→
特殊:2333333333
(不存在的特殊页面)
speciale
指定的特殊页面在当前语言中的全名(包含命名空间),并以URL编码。
MediaWiki原生函数。
- 格式
- {{#speciale: 页面名称}}
- 例子
- {{#speciale: 特殊页面}}→
%E7%89%B9%E6%AE%8A:%E7%89%B9%E6%AE%8A%E9%A1%B5%E9%9D%A2
- {{#speciale: specialpages}}→
%E7%89%B9%E6%AE%8A:%E7%89%B9%E6%AE%8A%E9%A1%B5%E9%9D%A2
- {{#speciale: ask}}→
%E7%89%B9%E6%AE%8A:%E8%AF%A2%E9%97%AE
- {{#speciale: ExpandTemplates}}→
%E7%89%B9%E6%AE%8A:%E5%B1%95%E5%BC%80%E6%A8%A1%E6%9D%BF
- {{#speciale: 2333333333}}→
%E7%89%B9%E6%AE%8A:2333333333
(不存在的特殊页面) - {{#speciale: 一个GPT助手}}→
%E7%89%B9%E6%AE%8A:%E4%B8%80%E4%B8%AAGPT%E5%8A%A9%E6%89%8B
(不存在的特殊页面)
sub
字符串截取
出自扩展 ParserFunctions的String functions。
- 格式
- {{#sub: 字符串|起始位置|长度}}
- 例子
- 如果'起始位置'参数为正数(或者为零),按首字符的'位置'为'0'的规则,返回相应的字串:
- {{#sub:Icecream|3}}→
cream
- {{#sub:Icecream|0|3}}→
Ice
- 如果'起始位置'参数为负数,则从字串末尾开始,返回相应长度的的字串:
- {{#sub:Icecream|-3}}→
eam
- '长度'参数如果出现,并且为正数,则表示返回字串的最大长度:
- {{#sub:Icecream|3|3}}→
cre
- 如果'长度'参数为负数,则表示从字串末尾略去几个字符:
- {{#sub:Icecream|3|-3}}→
cr
- 注意
- 如果'长度'参数是零,则不会起作用:
- {{#sub:Icecream|3|0}}→
cream
- 如果'起始位置'参数指定的位置,落在负的'长度'参数所略去的字符上,则会返回空字串:
- {{#sub:Icecream|3|-6}}→
(空字串)
- 此函数兼容UTF-8多字节字符,如:
- {{#sub:Žmržlina|3}}→
žlina
- 如同len一样,<nowiki>等标签扩展,不计长度,也不占'位置',如:
- {{#sub:→<nowiki>This is a</nowiki>test|0}}
test
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:新版活动日历/行 - 另一个伊甸
- 模板:回忆图鉴 - 突击莉莉终结之弹
- 模板:莉莉服装图鉴 - 突击莉莉终结之弹
- 模板:商城刷新 - APEX
- 模板:模组/个 - 明日方舟
- 模板:关卡图鉴 - 碧蓝航线
- 模板:鱼雷图鉴 - 碧蓝航线
- 模板:连载漫画 - 猫之城
- 模板:文章时效 - 封印者
- 模板:最后更新 - 克鲁赛德战记
subjectpagename
获取讨论页对应的内容页面名,带命名空间。
镜像功能是TALKPAGENAME(获取页面对应的讨论页面名)
SUBJECTPAGENAME与ARTICLEPAGENAME
相同。
MediaWiki原生函数。
- 格式
- {{SUBJECTPAGENAME}}
- {{SUBJECTPAGENAME: 页面名}}
- 例子
- 对于点点的“HiWiki”页面 {{TALKPAGENAME: HiWiki}}→
讨论:HiWiki
- 对于“讨论:HiWiki”页面 {{SUBJECTPAGENAME: 讨论:HiWiki}}→
HiWiki
- 对于“帮助:解析函数”页面 {{TALKPAGENAME: 帮助:解析函数}}→
帮助讨论:解析函数
- 对于“帮助讨论:解析函数”页面 {{SUBJECTPAGENAME: 帮助讨论:解析函数}}→
帮助:解析函数
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:文献资料 - 少前:云图计划
- 模板:暗区突围 - 暗区突围
- 模板:选项卡 - 封印者
- 模板:Documentation - 赛博朋克2077
- 模板:刻印跃迁技能 - 深空之眼
- 模板:敌方 - 深空之眼
- 模板:配队表 - 深空之眼
- 模板:文献资料 - 异星工厂
- 模板:飞飞怪物页面 - 飞飞网页版
- 模板:后勤小队套装 - 尘白禁区
- 模板:装扮图鉴 - 诸神皇冠
subjectpagenamee
获取讨论页对应的内容页面名,带命名空间,以URL编码。
镜像功能是TALKPAGENAMEE(获取页面对应的讨论页面名)
SUBJECTPAGENAMEE与ARTICLEPAGENAMEE
相同。
MediaWiki原生函数。
- 格式
- {{SUBJECTPAGENAMEE}}
- {{SUBJECTPAGENAMEE: 页面名}}
- 例子
- 对于点点的“HiWiki”页面 {{TALKPAGENAMEE: HiWiki}}→
%E8%AE%A8%E8%AE%BA:HiWiki
(即“讨论:HiWiki”的URL编码) - 对于“讨论:HiWiki”页面 {{SUBJECTPAGENAMEE: 讨论:HiWiki}}→
HiWiki
- 对于“帮助:解析函数”页面 {{TALKPAGENAMEE: 帮助:解析函数}}→
%E5%B8%AE%E5%8A%A9%E8%AE%A8%E8%AE%BA:%E8%A7%A3%E6%9E%90%E5%87%BD%E6%95%B0
- 对于“帮助讨论:解析函数”页面 {{SUBJECTPAGENAMEE: 帮助讨论:解析函数}}→
%E5%B8%AE%E5%8A%A9:%E8%A7%A3%E6%9E%90%E5%87%BD%E6%95%B0
subjectspace
在讨论页获取内容页面的命名空间名。主命名空间为空。镜像功能是TALKSPACE
MediaWiki原生函数。
- 格式
- {{SUBJECTSPACE: 讨论页名称}}
- 例子
- {{SUBJECTSPACE: 帮助讨论:解析函数}}→
帮助
- {{SUBJECTSPACE: 讨论:解析函数}}→
- 对应的
- {{TALKSPACE: 解析函数}}→
讨论
- {{TALKSPACE: 帮助:解析函数}}→
帮助讨论
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:编辑提示 - 白荆回廊
- 模板:编辑提示 - 幻塔
- 模板:High-risk - 机动战队
- 模板:Documentation subpage - 英雄联盟
- 模板:文档子页面 - 英雄联盟
- 模板:样式整理 - 我的世界玩家社区
- 模板:Namespace detect - 监狱建筑师
- 模板:编辑提示 - 重返未来:1999
- 模板:Documentation subpage - 宇宙猜想
- 模板:SUBJECTSPACE ZH - 宇宙猜想
subjectspacee
在讨论页获取内容页面的命名空间名,并以URL编码。主命名空间为空。镜像功能是 TALKSPACEE。
MediaWiki原生函数。
- 格式
- {{SUBJECTSPACEE: 讨论页名称}}
- 例子
- {{SUBJECTSPACEE: 帮助讨论:解析函数}}→
%E5%B8%AE%E5%8A%A9
(帮助) - {{SUBJECTSPACEE: 讨论:解析函数}}→
- 对应的
- {{TALKSPACEE: 解析函数}}→
%E8%AE%A8%E8%AE%BA
(讨论) - {{TALKSPACEE: 帮助:解析函数}}→
%E5%B8%AE%E5%8A%A9%E8%AE%A8%E8%AE%BA
(帮助讨论)
subobject
出自Semantic Mediawiki。请参见帮助:SMW#subobject。
subpagename
获取子页面标题。例如“Help:Title/foo/bar”会返回“bar”。
MediaWiki原生函数。
- 格式
- {{SUBPAGENAME}}
- {{SUBPAGENAME: 页面名}}
- 例子
- {{SUBPAGENAME: Help:Title/foo/bar}}→
bar
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:关卡信息/主线/剧情 - 突击莉莉终结之弹
- 模板:Documentation/docname - 明日方舟
- 模板:塞壬图鉴顶栏 - 碧蓝航线
- 模板:怪物信息 - Core Keeper地心护核者
- 模板:素材图鉴 - 交错战线
- 模板:动态列表/行 - 深空之眼
- 模板:新闻列表/行 - 电竞经理
- 模板:新闻列表/行 - 刀剑神域黑衣剑士王牌
- 模板:文章 - 千年之旅
- 模板:游戏信息框 - 光环
subpagenamee
获取子页面标题,以URL编码。例如“Help:Work/toki/托奇”会返回“%E6%89%98%E5%A5%87”。
MediaWiki原生函数。
- 格式
- {{SUBPAGENAMEE}}
- {{SUBPAGENAMEE: 页面名}}
- 例子
- {{SUBPAGENAMEE: Help:Title/foo/bar}}→
bar
- {{SUBPAGENAMEE: Help:Work/toki/托奇}}→
%E6%89%98%E5%A5%87
(托奇)
switch
多分支语句,类似于编程语言中的switch。
其第一个参数是要进行条件判断的表达式或值。后续的参数是一系列的条件和对应的结果。
出自扩展 ParserFunctions。
- 格式
- {{#switch: 表达式|case1 = 结果1|case2 = 结果2|case3 = 结果3|...|caseN = 结果N|默认}}
- {{#switch: 表达式|case1 = 结果1|case2 = 结果2|case3 = 结果3|...|caseN = 结果N|#default = 默认}}
- 例子
- {{#switch: baz|foo = Foo|baz = Baz|Bar}}→
Baz
- {{#switch: foo|foo = Foo|baz = Baz|Bar}}→
Foo
- {{#switch: zzz|foo = Foo|baz = Baz|Bar}}→
Bar
#switch
和部分转换标签可以作用于配置文件,从而可以使不熟悉模板代码的编辑者编辑可配置元素。- 关于默认结果
- 在当没有'情况字串'与'比较字串'相符时,会返回'默认结果':
- {{#switch: test|foo = Foo|baz = Baz|Bar}}→
Bar
- 按这个函数的句法,'默认结果'必须是最后一个参数,并且不能包含原始等号符。
- {{#switch: test|Bar|foo=Foo|baz=Baz}}→
- {{#switch: test|foo=Foo|baz=Baz|B=ar}}→
- 或者'默认结果'可以用'情况字串'
#default
来特别声明。 - 用这种方式声明的'默认结果'可以放在函数内的任何位置:
- {{#switch: test|foo=Foo|#default=Bar|baz=Baz}}→
Bar
- 如果'默认结果'被省略,当没有相符情况时,不会返回结果:
- {{#switch: test|foo=Foo|baz=Baz}}→
- 一组情况的结果
- 可以使用“fallthrough”值,即若干'情况字串'返回相同的'返回结果'。这能减少重复。
- {{#switch: 比较字串
|情况字串1 = 返回结果1
|情况字串2
|情况字串3
|情况字串4 = 返回结果234
|情况字串5 = 返回结果5
|情况字串6
|情况字串7 = 返回结果67
|#default = 默认结果
}}
- 在这里情况2、3、4都会返回“返回结果234”,情况6、7都会返回“返回结果67”。
- 关于比较
- 与
#ifeq
相同,如果'比较字串'和'情况字串'都为数值,则会按照数值进行比较。以上情况外,区分大小写:- {{#switch: 0 + 1|1 = one|2 = two|three}}→
three
- {{#switch:→{{#expr: 0 + 1}}|1 = one|2 = two|three}}
one
- {{#switch: a|a = A|b = B|C}}→
A
- {{#switch: A|a = A|b = B|C}}→
C
- '情况字串'可以是空:
- {{#switch:|= Nothing|foo = Foo|Something}}→
Nothing
- 当出现一个相符情况后,之后的'情况字串'会被忽略:
- {{#switch: b|f = Foo|b = Bar|b = Baz|}}→
Bar
- 注意
#switch
和#ifeq
的数值比较方法与#ifexpr
比较不同:- {{#switch: 12345678901234567|12345678901234568 = A|B}}→
B
- {{#ifexpr: 12345678901234567 = 12345678901234568|A|B}}→
A
- 具体见
ifeq
处的第一条“注意”。 - 关于原始等号符
- '情况字串'不能包含原始等号符。为了解决这个问题,创建了一个只包含一个等号符
=
的模板{{=}}。 - 应用的例子:
|1=2 = raw
|1
|1
|1=2 = html
|default
}}
→ template
- 关于替换
#ifeq
#switch
可以用来减少扩展深度。- 比如:
- {{#switch:{{{1}}}|情况1=分支1|情况2=分支2|情况3=分支3|分支4}}
- 等价于:
- {{#ifeq:{{{1}}}|情况1|分支1|{{#ifeq:}}{{{1}}}|情况2|分支2|{{#ifeq:}}{{{1}}}|情况3|分支3|分支4}}
- 写成便于阅读的格式即为:
|
|
|
|
|
|
}}
}}
}}
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
T
tag
生成一个XML标签,可以设定其标签类型、内文和属性。 有时候一些XML标签形式的解析器结构(即解析器扩展标签),不会解析和运算其内文,导致其无法在模板中使用或配合其他解析器结构使用(如tabber),此时则需要利用tag函数,生成一个内文已经解析了的标签。
MediaWiki原生函数。
- 格式
- {{#tag: 标签名|内容|属性}}
- 例子
- {{#tag: nowiki|这是nowiki里面,→{{padleft:|5|一二}}切运算都有效}}
这是nowiki里面,一二一二一切运算都有效
- {{#tag: ref|这是备注里面,→{{padleft:|5|一二}}切运算都有效|name="tag" group="tag"}}
[tag 1]
- {{#tag: references||group="tag"}}→
↑ 这是备注里面,一二一二一切运算都有效
(内文连一个空格都没有的话,便会生成一个自关闭标签)
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
talkpagename
在内容页面获取对应的讨论页名(带有命名空间)
MediaWiki原生函数。
- 格式
- {{TALKPAGENAME}}
- {{TALKPAGENAME: 页面名}}
- 例子
- {{TALKPAGENAME}}→
帮助讨论:解析函数
- {{TALKPAGENAME:首页}}→
讨论:首页
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:High-risk - 机动战队
- 模板:Archive - Minecraft WIKI
- 模板:Check version - Minecraft WIKI
- 模板:Checkthecode - Minecraft WIKI
- 模板:When - Minecraft WIKI
- 模板:Cleanup - 幸福工厂
- 模板:Navbar - 幸福工厂
- 模板:PvE Queue - 星际迷航OL
- 模板:需要关注 - 食物语-档案馆
- 模板:Msgbox - Terraria Wiki
talkpagenamee
在内容页面获取对应的讨论页名,以URL编码(带有命名空间)
MediaWiki原生函数。
- 格式
- {{TALKPAGENAMEE}}
- {{TALKPAGTALKPAGENAMEEENAME: 页面名}}
- 例子
- {{TALKPAGENAMEE}}→
%E5%B8%AE%E5%8A%A9%E8%AE%A8%E8%AE%BA:%E8%A7%A3%E6%9E%90%E5%87%BD%E6%95%B0
(帮助讨论:解析函数) - {{TALKPAGENAMEE:首页}}→
%E8%AE%A8%E8%AE%BA:%E9%A6%96%E9%A1%B5
(讨论:首页)
talkspace
获取内容页面对应的讨论页面的命名空间名。
MediaWiki原生函数。
- 格式
- {{TALKSPACE}}
- {{TALKSPACE:页面名}}
- 例子
- {{TALKSPACE}}→
帮助讨论
- {{TALKSPACE:首页}}→
讨论
- {{TALKSPACE:模板:=}}→
模板讨论
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:Namespace detect - 戴森球计划
- 模板:High-risk - 机动战队
- 模板:来源请求 - 东方归言录
- 模板:Namespace detect - 赛马娘
- 模板:Namespace detect - 召唤与合成2
talkspacee
获取内容页面对应的讨论页面的命名空间名,以URL编码。
MediaWiki原生函数。
- 格式
- {{TALKSPACEE}}
- {{TALKSPACEE:页面名}}
- 例子
- {{TALKSPACEE:首页}}→
%E8%AE%A8%E8%AE%BA
(讨论) - {{TALKSPACEE}}→
%E5%B8%AE%E5%8A%A9%E8%AE%A8%E8%AE%BA
(帮助讨论) - {{TALKSPACEE:模板:=}}→
%E6%A8%A1%E6%9D%BF%E8%AE%A8%E8%AE%BA
(模板讨论)
template_display
出自扩展Page Forms。请参阅帮助:PageForms#template_display
template_params
出自扩展Page Forms。请参阅帮助:PageForms#template_params
time
代码 | 说明 | 当前输出值 (清除此页面缓存以更新结果) |
---|---|---|
年 | ||
Y
|
4位数表示的年。 | 2024 |
y
|
2位数表示的年。 | 24 |
L
|
1表示闰年(Leap year),0表示非闰年。 | 1 |
o [注 1]
|
ISO-8601 规定的该周所属年份。[注 2] | 2024[注 3] |
月 | ||
n
|
月份号,无前导零。 | 10 |
m
|
月份号,有前导零。 | 10 |
M
|
月份名称缩写,使用网站语言。(英文结果为 Oct )
|
10月 |
F
|
月份名称全称,使用网站语言。(英文结果为 October )
|
10月 |
xg
|
月份名称全称,使用网站语言的属格(Genitive)形式,注意区分其与主格(Nominative)形式的区别。 这项功能在斯拉夫语族(Slavic languages)中十分重要,如波兰语、俄语、白俄罗斯语、捷克语、斯洛伐克语、斯洛文尼亚语、乌克兰语等。 在中文环境下: |
对于中文:
(主格) {{#time:Y F d|20 June 2010|zh}} → (属格) {{#time:Y xg d|20 June 2010|zh}} → |
周 | ||
W
|
ISO 8601 规定的周数,有前导零。 | 42 |
日 | ||
j
|
月份内的日期号,无前导零。 | 14 |
d
|
月份内的日期号,有前导零。 | 14 |
z
|
年份内的日期号 (1月1日 = 0)。 注意:要获得 ISO 规定的日期号,需加上1。 |
287 |
D
|
星期的缩写。国际上不通用。 | 一 |
l
|
星期的全称。国际上不通用。 | 星期一 |
N
|
ISO 8601 规定的星期编号(星期一 = 1,星期日 = 7)。 | 1 |
w
|
星期编号(星期日 = 0,星期六 = 6)。 | 1 |
时 | ||
a
|
早上为 am (00:00:00 → 11:59:59);其他时间为 pm (12:00:00 → 23:59:59)。
|
pm |
A
|
上方 a 的大写形式。
|
PM |
g
|
12小时制的时,无前导零。 | 9 |
h
|
12小时制的时,有前导零。 | 09 |
G
|
24小时制的时,无前导零。 | 21 |
H
|
24小时制的时,有前导零。 | 21 |
分 和 秒 | ||
i
|
小时后的分钟数,有前导零。 | 56 |
s
|
分钟后的秒钟数,有前导零。 | 52 |
U
|
UNIX时间(Unix time)。从格林尼治时间(GMT)1970年1月1日00:00:00开始计的秒钟数。 | 1728943012 |
时区(需 MediaWiki 1.22wmf2) | ||
e
|
时区标识符。 | UTC |
I
|
当前日期是否使用日光节约时间(夏令时)。 | 0 |
O
|
与格林尼治时间(GMT)的时差。 | +0000 |
P
|
与格林尼治时间(GMT)的时差,带有冒号分隔。 | +00:00 |
T
|
时区缩写。 | UTC |
Z
|
以秒计的时差。 | 0 |
杂项 | ||
t
|
当前月份的天数。 | 31 |
c
|
ISO 8601 格式的日期,等价于 Y-m-d"T"H:i:s+00:00 。
|
2024-10-14T21:56:52+00:00 |
r
|
RFC 5322 格式的日期,等价于 D, j M Y H:i:s +0000 ,其中星期名和月份名国际上不通用。
|
Mon, 14 Oct 2024 21:56:52 +0000 |
非公历日历 | ||
伊斯兰历(Islamic calendar),又称 希吉来历(Hijri calendar) | ||
xmj
|
月份内的日期号。 | 10 |
xmF
|
月份名称全称。 | 赖比尔·阿色尼月 |
xmn
|
月份号。 | 4 |
xmY
|
全长表示的年。 | 1446 |
伊朗历(Iranian calendar),又称 贾拉利历(Jalali calendar) | ||
xij
|
月份内的日期号。 | 23 |
xiF
|
月份名称全称。 | Mehr |
xin
|
月份号。 | 7 |
xiY
|
全长表示的年。 | 1403 |
xiy
|
2位数表示的年。 | 03 |
希伯来历(Hebrew calendar) | ||
xjj
|
月份内的日期号。 | 12 |
xjF
|
月份名称全称。 | 提斯利月 |
xjt
|
当前月份的天数。 | 30 |
xjx
|
属格形式的月份名称。 | Tishrei |
xjn
|
月份号。 | 1 |
xjY
|
全长表示的年。 | 5785 |
泰国历(Thai solar calendar) | ||
xkY
|
泰国历的全长表示的年。 注意:公历1941年前的年份,1月到3月的范围内,计算得到的泰国历年份不正确。(原因) |
2567 |
民国纪年(Minguo calender) 朝鲜历(North Korean calendar),又称 主体历(Juche calendar) | ||
xoY
|
全长表示的年。 | 113 |
日本年号(Japanese era name, or Japanese nengo) | ||
xtY
|
全长表示的年(带有年号)。 | 令和6 |
转换标志 | ||
xn
|
将下一个数字代码转换为原始 ASCII 格式数字。 | 在印地语中, {{#time:H, xnH}} 得到的是 ०६, 06 。
|
xN
|
与 xn 功能类似。但它持续起作用到字串末尾,或字串中的下一个 xN 处。
| |
xr
|
将下一个数字代码转换为罗马数字格式。仅对 10,000 以内的数字有效 (MediaWiki 1.20 之前,仅对 3,000 以内的数字有效)。 |
{{#time:xrY}} → MMXXIV
|
xh
|
将下一个数字代码转换为希伯来数字格式。 | {{#time:xhY}} → ב'כ"ד
|
将日期和/或时间(公历)按格式字串规定的格式进行转换。
可自行指定日期/时间对象,默认使用魔术字(Magic word)
的值(该值使用世界协调时间,UTC),也就是页面最近一次渲染为HTML的时间。
出自扩展 ParserFunctions。
- 格式
- {{#time: 格式字串}}
- {{#time: 格式字串|日期/时间对象}}
- {{#time: 格式字串|日期/时间对象|语言代码}}
- 在右边的表格中列出了支持的格式控制代码。'格式字串'中的任何不被识别的字符将原样输出,包括空格(系统不用它们来编译代码)。
- 还有两种方法可以使'格式字串'内的字符原样输出:
- 反斜杠
\
后加字符,可以原样输出单个字母: - 一对半角双引号
" "
内的字符被当作文字,会原样输出,不带双引号。
- 反斜杠
- 另外,还可以用
xx
来输出单个字母x
。 - 例子
- {{#time:\m}}→
m
- {{#time:\xg}}→
x9
(x
被原样输出,g
被当作格式控制代码) - {{#time: Y-m-d}}→
2024-10-14
- {{#time:→[[Y]]m d}}
2024 10 14
- {{#time:→[[Y (year)]]}}
2024 (24UTCpmMon, 14 Oct 2024 21:56:52 +0000)
(year被当作格式控制代码y
、e
、a
、r
) - {{#time:→[[Y "(year)"]]}}
2024 (year)
- {{#time: i's"}}→
56'52"
- '日期/时间对象'可以使用任何PHP中strtotime()函数支持的格式。可以使用绝对时间(如
20 December 2000
)和相对时间(如+20 hours
):- {{#time: r|now}}→
Mon, 14 Oct 2024 21:56:53 +0000
- {{#time: r|+2 hours}}→
Mon, 14 Oct 2024 23:56:53 +0000
- {{#time: r|now + 2 hours}}→
Mon, 14 Oct 2024 23:56:53 +0000
- {{#time: r|20 December 2000}}→
Wed, 20 Dec 2000 00:00:00 +0000
- {{#time: r|December 20, 2000}}→
Wed, 20 Dec 2000 00:00:00 +0000
- {{#time: r|2000-12-20}}→
Wed, 20 Dec 2000 00:00:00 +0000
- {{#time: r|2000 December 20}}→
错误:无效时间。
- '语言代码'使用的是ISO 639-3标准,可以显示所选语言的时间格式:
- {{#time:d F Y|1988-02-28|nl}}→
28 februari 1988
- {{#time:l|now|uk}}→
понеділок
- {{#time:d xg Y|20 June 2010|pl}}→
20 czerwca 2010
- 译者注:以上三例本wiki内不起作用,因为不支持该语言。
- 如果需要在计算时使用UNIX时间,可以在UNIX时间前加上
@
:- {{#time: U|now}}→
1728943013
- {{#time: r|@1485582296}}→
Sat, 28 Jan 2017 05:44:56 +0000
- 注意:可接受的输入时间范围是0111年1月1日至9999年12月31日。100年到110年的各个格式控制代码的输出不一致:
Y
和L
按照100-110年来计算;但r
、D
、l
和U
是按照2000-2010年来计算的:- {{#time: d F Y|29 Feb 0100}}→
01 3月 0100
- 上面的结果正确,但是:
- {{#time: r|29 Feb 0100}}→
Mon, 01 Mar 0100 00:00:00 +0000
- 上面的结果错误,因为100年不是闰年,但2000年是闰年,上面的结果是按照2000年计算的。
- 超过9999年会得到不正确的结果:
- {{#time: d F Y|15 April 10000}}→
错误:无效时间。
- {{#time: r|10000-4-15}}→
Sat, 15 Apr 2000 10:00:00 +0000
- 0-99年被当作2000-2069年、1970-1999年来处理,除非使用4位数年格式来表示这些年份:
- {{#time: d F Y|1 Jan 6}}→
01 1月 2006
- {{#time: d F Y|1 Jan 06}}→
01 1月 2006
- {{#time: d F Y|1 Jan 006}}→
01 1月 2006
- {{#time: d F Y|1 Jan 0006}}→
01 1月 0006
(使用了4位数年)
星期名称支持100-110年和1753年以后的年份。111-1752年的r
中星期输出为Unknown
,l
的输出为<>
,且这几年的r
输出值不能当作有效的输入值。- 译者注:
- 测试了一些111-1752之间的年份,已经可以正常显示星期,且正确:
- {{#time: r|1 Jan 1600}}→
Sat, 01 Jan 1600 00:00:00 +0000
(应为星期六) - {{#time: r|23 Dec 802}}→
Mon, 23 Dec 0802 00:00:00 +0000
(应为星期一) - 使用日期转换进行验证。
- 可以指定完整的绝对日期,或者是一部分,此函数会将缺少的部分用当前日期的值填补:
- {{#time: Y|January 1}}→
2024
- 注意:填补功能在不同情况下填补不同的内容:
- {{#time: Y m d H:i:s|June}}→
2024 06 14 00:00:00
(使用了一天的开始时刻,填补了当前月份内的日期号、年份) - {{#time: Y m d H:i:s|2003}}→
2003 10 14 00:00:00
(使用了一天的开始时刻,填补了当前年份内的日期号)
- 在MediaWiki r86805之后,4位数字一概会被认为是年份,而非小时与分钟:
- {{#time: Y m d H:i:s|1959}}→
1959 10 14 00:00:00
- 6位数字会被认为是小时、分钟和秒钟,如果得到的时间不正确,则会报错(一概不会当作年份和月份):
- {{#time: Y m d H:i:s|195909}}→
2024 10 14 19:59:09
(被当作时分秒而不是年月) - {{#time: Y m d H:i:s|196009}}→
错误:无效时间。
(即使19:60:09不是正确的时间,196009也不会被当作年月)
- 函数定量计算天数来得到日期:
- {{#time: Y F d|January 0 2008}}→
2007 12月 31
- {{#time: F d|January 32}}→
错误:无效时间。
(一个月超过31天的话,会报错) - {{#time: F d|February 29 2008}}→
2月 29
- {{#time: F d|February 29 2007}}→
3月 01
- {{#time:Y F|now -1 months}}→
2024 9月
#time
中'格式字串'的总长度限制为6000字符。- 关于时区
- 解析函数
#time
中有一个bug(更确切的说是PHP日期时间的bug),不允许传入非整数的相对时差。这个问题在整点时区不会出现,如东部夏令时间(EDT):- {{#time:g:i A|-4 hours}}→
5:56 PM
- 但是,委内瑞拉(委内瑞拉标准时间,VET)与世界协调时间(UTC)的时差是-4.5小时,如果直接输入则不会得到正确的结果,如下:
- {{#time:g:i A|-4.5 hours}}→
6:56 AM
- 可以将时差转换为分钟或者秒钟来解决这个问题:
- {{#time:g:i A|-270 minutes}}→
5:26 PM
- {{#time:g:i A|-16200 seconds}}→
5:26 PM
- (上述方法由此函数开发者 Tim Starling 提供)
timel
与time一致,默认使用当地时间(在'日期/时间对象'留空时)。
出自扩展 ParserFunctions。
- 例子
- {{#time: Y-m-d}}→
2024-10-14
(世界协调时间,UTC) - {{#timel: Y-m-d}}→
2024-10-15
(北京时间,UTC+8) - {{#time: Y F d H:i:s}}→
2024 10月 14 21:56:52
(世界协调时间,UTC) - {{#timel: Y F d H:i:s}}→
2024 10月 15 05:56:52
(北京时间,UTC+8)
titleparts
获取子页面的一部分标题。以“/”分割,返回从指定开始位置,指定长度的标题。
处理时,会按照Wiki标题规则:下划线作为空格处理;HTML字符实体会被转化;页面首字母是大写的。
出自扩展 ParserFunctions。
- 格式
- {{#titleparts: 页面名|数量|开始位置}}
- 例子
- {{#titleparts: 帮助:解析函数/T/titleparts/Code}}→
帮助:解析函数/T/titleparts/Code
- {{#titleparts: 帮助:解析函数/T/titleparts/Code|1}}→
帮助:解析函数
,效果同ROOTPAGENAME。 - {{#titleparts: 帮助:解析函数/T/titleparts/Code|2}}→
帮助:解析函数/T
- {{#titleparts: 帮助:解析函数/T/titleparts/Code|2|2}}→
T/titleparts
- {{#titleparts: 帮助:解析函数/T/titleparts/Code||2}}→
T/titleparts/Code
- 注意
- 段落长度和段落位置均可以使用负数,负数段落长度表示从尾开始去掉该数量的段落,负数段落位置表示从尾开始计算段落位置。
- 例子
- {{#titleparts: 帮助:解析函数/T/titleparts/Code|-1}}→
帮助:解析函数/T/titleparts
,效果同BASEPAGENAME。 - {{#titleparts: 帮助:解析函数/T/titleparts/Code|-4}}→
,去掉的段落数等于段落总数。
- {{#titleparts: 帮助:解析函数/T/titleparts/Code|-5}}→
,去掉的段落数超出了段落总数。
- {{#titleparts: 帮助:解析函数/T/titleparts/Code||-1}}→
Code
,效果同SUBPAGENAME。 - {{#titleparts: 帮助:解析函数/T/titleparts/Code|-1|2}}→
T/titleparts
- {{#titleparts: 帮助:解析函数/T/titleparts/Code|-1|-2}}→
titleparts
- 注意
- 标题字串最多能含有255个半角字符或相应数量的全角字符,就跟正常页面标题一样。最多只会进行25次切割,25次以后的内容会被当作同一个段落处理。
- 例子
- {{#titleparts: a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/aa/bb/cc/dd/ee|1|25}}→
y/z/aa/bb/cc/dd/ee
- 注意
- 若标题字串含有标题内禁用的字符,此函数会返回原字串或返回空字串。
- 例子
{{#titleparts: {one/two} | 1 | 1 }}
→{one/two}
- {{#titleparts:→[[沙盒]]/123|1|2}}
沙盒/123
- {{#titleparts: red/#00FF00/blue|1|3}}→
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:扭蛋模拟器 - 突击莉莉终结之弹
- 模板:编辑提示 - 白荆回廊
- 模板:碧蓝回忆录/内容 - 碧蓝航线
- 模板:配队表 - 深空之眼
- 模板:誓灵图鉴 - 方舟指令
- 模板:首饰 - 激战2
- 模板:编辑提示 - 幻塔
- 模板:技能 - 梦幻模拟战
- 模板:Str find - 神甲奇兵
token
返回给定的字符串,其中所有出现的搜索词都被替换为替换词。
此功能与 replace 一样,但参数顺序相反。
出自扩展 ParserPower。
- 格式
- {{#token: 替换项|搜索项|源字符串}}
- 例子
- {{#token:Clown piece}}→
Clown piece
- {{#token:→<nowiki> </nowiki>|_|My_little_home_page}}
My little home page
tokenif
出自扩展ParserPower。
trim
出自扩展ParserPower。
trimuesc
出自扩展ParserPower。
U
uc
把输入的字串中所有字母变成大写。
MediaWiki原生函数。
- 格式
- {{uc: wikitext}}
- 例子
- {{uc: qwer脸滚键盘}}→
QWER脸滚键盘
ucfirst
把输入的字串中第一个字母变成大写。
MediaWiki原生函数。
- 格式
- {{ucfirst: wikitext}}
- 例子
- {{ucfirst: qwer脸滚键盘}}→
Qwer脸滚键盘
- {{ucfirst: 你们说的qwer脸滚键盘是什么意思啊}}→
你们说的qwer脸滚键盘是什么意思啊
ueif
出自扩展ParserPower。 参见帮助:ParserPower#ueif
ueifeq
出自扩展ParserPower。 参见帮助:ParserPower#ueifeq
uesc
出自扩展ParserPower。 参见帮助:ParserPower#uesc
uescnowiki
出自扩展ParserPower。 参见帮助:ParserPower#uescnowiki
ueswitch
出自扩展ParserPower。 参见帮助:ParserPower#ueswitch
urldecode
解码URL编码的字符串。
MediaWiki原生函数。
- 格式
- {{#urldecode: 字符串}}
- 例子
- {{#urldecode: ABC%E4%B8%AD%E6%96%87+%E8%8B%B1%E6%96%87+123%26456%2B1%25}}→
ABC中文 英文 123&456+1%
- {{#urldecode: ABC%E4%B8%AD%E6%96%87+%E8%8B%B1%E6%96%87+123%26456%2B1%25}}→
ABC中文 英文 123&456+1%
(用urlencode加QUERY编码的字串) - {{#urldecode: ABC%E4%B8%AD%E6%96%87_%E8%8B%B1%E6%96%87_123%26456%2B1%25}}→
ABC中文_英文_123&456+1%
(用urlencode加WIKI编码的字串) - {{#urldecode: ABC%E4%B8%AD%E6%96%87%20%E8%8B%B1%E6%96%87%20123%26456%2B1%25}}→
ABC中文 英文 123&456+1%
(用urlencode加PATH编码的字串)
urlencode
URL编码指定字符串。
MediaWiki原生函数。
- 格式
- {{urlencode: 字符串}}
- {{urlencode: 字符串|格式}}格式可选 QUERY / WIKI / PATH 。默认为QUERY
- QUERY 空格变为
+
- WIKI 空格变为
_
- PATH 空格变为
%20
- QUERY 空格变为
- 例子
- {{urlencode: ABC中文 英文 123&456+1%}}→
ABC%E4%B8%AD%E6%96%87+%E8%8B%B1%E6%96%87+123%26456%2B1%25
- {{urlencode: ABC中文 英文 123&456+1%|QUERY}}→
ABC%E4%B8%AD%E6%96%87+%E8%8B%B1%E6%96%87+123%26456%2B1%25
- {{urlencode: ABC中文 英文 123&456+1%|WIKI}}→
ABC%E4%B8%AD%E6%96%87_%E8%8B%B1%E6%96%87_123%26456%2B1%25
- {{urlencode: ABC中文 英文 123&456+1%|PATH}}→
ABC%E4%B8%AD%E6%96%87%20%E8%8B%B1%E6%96%87%20123%26456%2B1%25
V
var
输出变量。 变量需要事先用vardefine或vardefineecho定义。
出自扩展 Variables BWIKI和各大Wiki平台广泛使用此扩展。<br>在遥远的未来,它可能与Mediawiki新的并行解析器不兼容,请参阅扩展主页了解更多信息。。
- 格式
- {{#var: 变量名}}
- {{#var: 变量名|默认值}}变量不存在则输出默认值
- 例子
- 先定义变量{{#vardefine: abc|123456}}
- {{#var: count|未定义}}→
未定义
输出不存在的变量count,会获得默认值。 - {{#var: abc|未定义}}→
123456
获取已定义的变量abc。
var_final
【将弃用】输出变量,使用页面解析结束时变量的值。因此,这允许在未定义变量前使用变量。
- 注意
- 在MediaWiki 1.35版本后,var_final被标记为弃用,MediaWiki 1.39版本后将移除。目前,在BWIKI可以使用,灰机Wiki已弃用。
- 由于行为复杂,它可能会出现未预期的表现,容易让代码难以理解和阅读。
出自扩展 Variables BWIKI和各大Wiki平台广泛使用此扩展。<br>在遥远的未来,它可能与Mediawiki新的并行解析器不兼容,请参阅扩展主页了解更多信息。。
- 格式
- {{#var_final: 变量名}}
- {{#var_final: 变量名|默认值}}如果变量未定义,返回默认值
- 例子
- {{#var_final: count233|未定义}}→
谨慎使用Variables
在此处获取在后面代码中才会被定义的count的内容。 - 此处定义 count233:{{#vardefine: count233|谨慎使用Variables}}
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
vardefine
定义变量。即将一个字符串存储到指定变量中,以便于在后续代码中多次使用。此函数不会输出任何内容。
出自扩展 Variables BWIKI和各大Wiki平台广泛使用此扩展。<br>在遥远的未来,它可能与Mediawiki新的并行解析器不兼容,请参阅扩展主页了解更多信息。。
- 格式
- {{#vardefine: 变量名|值}}
- 例子
- {{#vardefine: count|0}}→
定义count变量,值为0
- {{#vardefine: text}}→
定义空变量text
- {{#vardefine: text|新的233}}→
可以重复定义以覆盖已有变量,现在text的值是
新的233
。 - {{#vardefine: text|→{{#var: text}}内容}}
可以使用更复杂的wikitext来为变量赋值,现在text的值是:
新的233内容
。 - {{#vardefine: count|→{{#expr:}}{{#var: count}}+1}}
通过与expr组合,实现计算,现在变量count的内容为
1
。
vardefineecho
定义并输出变量。行为上相当于vardefine和var先后调用。
出自扩展 Variables BWIKI和各大Wiki平台广泛使用此扩展。<br>在遥远的未来,它可能与Mediawiki新的并行解析器不兼容,请参阅扩展主页了解更多信息。。
- 格式
- {{#vardefineecho: 变量名称|内容值(默认为空字串)}}
- 例子
- {{#vardefineecho: text|变量的内容,看到了吗}}→
变量的内容,看到了吗
定义变量同时输出变量内容,现在变量text的内容为“变量的内容,看到了吗”。
- 其他用法
- 配合varexists,实现防止多次加载资源
- {{#if:→{{#varexists:防止多次加载JS_XXX}}||{{#vardefineecho:防止多次加载JS_XXX|这里加载JS}}}}
这里加载JS
避免JS重复加载 - {{#if:→{{#varexists:防止多次加载CSS_XXX}}||{{#vardefineecho:防止多次加载CSS_XXX|这里是CSS内容或加载CSS}}}}
这里是CSS内容或加载CSS
避免CSS重复加载
varexists
判断变量是否存在。存在则返回1,否则返回空。经常配合#if
使用。
出自扩展 Variables BWIKI和各大Wiki平台广泛使用此扩展。<br>在遥远的未来,它可能与Mediawiki新的并行解析器不兼容,请参阅扩展主页了解更多信息。。
- 格式
- {{#varexists: 变量名}}
- 例子
- 先定义变量 varexiststext:{{#vardefine:varexiststext|想吃烤肠}}。
- 判断存在否 {{#varexists: varexiststext}}→
1
- 未定义的变量 {{#varexists: count123465}}→
- 配合if使用 {{#if:→{{#varexists: count123465}}|存在|不存在}}
不存在
W
while
只要循环条件的wikitext输出非空,就循环执行。
- 注意
- 死循环可能导致页面无响应,甚至增加服务器压力。使用请谨慎。
出自扩展 Loops。
- 格式
- {{#while:
|条件
|循环内容
}}
- 例子
- {{#vardefine: i|0}}
- {{#while:→
|{{#ifexpr:{{#var: i}}< 5|true}}
|<nowiki/>
*{{#var: i}}{{#vardefine: i|{{#expr:}}{{#var: i}}+ 1}}
}}
- 0
- 1
- 2
- 3
- 4
- 实际用例
- BWIKI中实际应用它的页面。这个静态列表可能在下列页面更改后过时
- 模板:干员 - 明日方舟
- 模板:面包屑 - 明日方舟
- 模板:图鉴/再生者/立绘 - 地下城堡3
- 模板:怪物信息栏 - 古神遗产
- 模板:挑战副本图鉴 - 汉家江湖
- 模板:秘籍图鉴 - 汉家江湖
- 模板:Only - 开普勒斯
- 模板:角色图鉴 - 空之要塞:启航
- 模板:超导体图鉴 - 空之要塞:启航
- 模板:Anvil - 我的世界地下城
widget
- 参考官方文档和其他文档完善内容
- 增加实际用例和技巧
调用小部件(Widgets)。
Widgets允许用户创建HTML页面,能更灵活的为Wiki添加功能。
出自扩展 Widgets。
- 格式
- {{#widget: 小部件名|参数1=值1|参数2=值2|...|参数n=值n}}
- 例子
- 请参见Widgets。