【问题标题】:Ignore MediaWiki whitespace忽略 MediaWiki 空格
【发布时间】:2014-05-01 03:00:41
【问题描述】:
如何忽略 wiki 模板上的空格?
例如,我创建了一个名为Hello 的模板。在里面,我输入了{{{text}}}。
因此,现在当我将{{Hello |text=Hi Bye}} 放在页面上并保存时,页面会显示。 “嗨,再见”(当然)。
我希望它显示“HiBye”,而不是“Hi Bye”。我应该在模板中添加什么来做到这一点?
【问题讨论】:
标签:
whitespace
mediawiki
wiki
removing-whitespace
【解决方案1】:
要删除模板中值内的字符(空格或其他字符),您必须进行搜索和替换。您可以安装扩展 ParserFunctions,以访问解析器功能,如 replace,然后访问如下内容:
{{#replace:{{{text|}}}| |}}
如果您的 MediaWiki 是 1.18 版或更高版本(如果不是,则无论如何您都应该升级),ParserFunctions 已经与您的安装捆绑在一起。然后你只需要启用它,就像LocalSettings.php中的这样:
require_once( "$IP/extensions/ParserFunctions/ParserFunctions.php" );
$wgPFEnableStringFunctions = true;
附带说明,变量开头和结尾的空白字符总是被去除,如果使用命名参数。换句话说:{{Hello |text= Hi Bye }} 等于 {{Hello |text=Hi Bye}}。另一方面,{{Hello | Hi Bye }}不等于{{Hello |Hi Bye}}。高级模板有时会巧妙地利用这种差异。当然,替换功能在这两种情况下都可以使用。