模板:=/文档
{{=}}
模板用于安全插入一个等号 =
,防止MediaWiki解析器把它误认为参数分隔符。
这个模板不常用,仅在调用模板、函数时,发现带等号的参数值没有被正确识别时使用。
用法
代码:
{{=}}
效果:
=
用途
在模板或函数调用中,参数值包含等号(且未指定参数名)时,会被MediaWiki解析为“参数名=参数值”,导致异常。
比如:
{{模板名|a=b}}
会被解析为参数名 a,参数值为 b。
如果你需要指定此编号参数的值为 a=b,就需要使用此模板:
{{模板名|a{{=}}b}}
会被解析为参数名 1,参数值为 a=b。
示例
比如模板{{划掉重说}}
用于划掉文字然后重说。
假设预期效果为:a=bc
那么三种写法:
* {{划掉重说| a=b | c }} <!-- 错误:等号被当成参数分隔 -->
* {{划掉重说| a{{=}}b | c }} <!-- 正确 -->
* {{划掉重说| 1=a=b | 2=c }} <!-- 也正确:显式编号参数 -->
效果:
ca=bca=bc
进阶示例
类似的例子,比如#switch
语句中,想要匹配条件1=2
,那么直觉上有三种方式来匹配:
- 原文:
1=2
- 用nowiki标签:
1<nowiki>=</nowiki>2
- 用此模板:
1{{=}}2
{{#switch: 1=2
| 1=2 = 原文(不生效)
| 1<nowiki>=</nowiki>2 = 用nowiki标签(不生效)
| 1{{=}}2 = 用此模板(命中)
| 默认值
}}
结果:用此模板(命中)
相关特性
魔术字 {{!}}
:用于插入一个竖线 |
,避免解析器混淆。比如在模板、表格的正文中需要显示“|”时。MediaWiki 从 1.24 版本开始默认支持此特性。
类似的,{{=}}
这种简单一致的解决方案被许多 Wiki 采用,因此 MediaWiki 从 1.39 版本开始,将{{=}}
加入魔术字(Magic Word),默认支持此特性。不过目前 BWiki 的版本是1.37.0,因此这一模板是手动创建的。
调试 Wikitext
特殊:展开模板页面可用于调试 Wikitext。极少数情况下,解析器对 Wikitext 的解析可能不符合预期。
常见情况包括解析器将内容中的换行、等号或竖线误解析为Wikitext语法,本模板就是用于处理其中等号被视为 Wikitext 语法的情况。
相关资料
- 调试Wikitext - Tools 社区文档
- #switch中的等号问题 - MediaWiki 帮助文档
- 魔术字文档 - MediaWiki 帮助文档