在语义MediaWiki中拆分字符串

时间:2014-08-11 12:24:42

标签: mediawiki mediawiki-templates semantic-mediawiki

我想在我的wiki页面中使用现有字符串添加链接。 此字符串将附加到网址以形成完整的网址。

此字符串由许多单词组成,例如“国际计算中的危机管理”

我想用空格分割“”然后构造这个字符串:“危机+管理+ +国际+计算”

这是我在wiki页面中的String变量:

{{SUBJECTPAGENAME}}

注意:我必须首先检查字符串是否包含多个单词,就好像字符串只是一个单词这样的“危机”我不会执行分割功能。

我在网上搜索过,并没有找到明确的语义来执行此问题。

有人经历过这样的事吗?

2 个答案:

答案 0 :(得分:1)

如果我从评论中理解正确,您希望替换字符串中出现的所有空格,并将其替换为+。这可以使用ParserFunctions extension的字符串函数来完成。

如果您运行的是相当新版本的MediaWiki(> 1.18,请转到Special:Version),ParserFunctions扩展程序与该软件捆绑在一起。您只需将以下内容添加到LocalSettings.php

即可启用它
require_once "$IP/extensions/ParserFunctions/ParserFunctions.php";
$wgPFEnableStringFunctions = true;

然后你就可以写下来了。

{{#replace: {{SUBJECTPAGENAME}} |<nowiki> </nowiki>|+}} 

但请注意,如果您真正想要的只是网页名称的网址版本,则可以使用{{SUBJECTPAGENAMEE}}代替{{SUBJECTPAGENAME}}

答案 1 :(得分:0)

我建议你去寻找自定义解析器功能。

或者作为一个黑客,尝试使用 arraymaptemplate 解析器函数拆分字符串作为Semantic Forms的一部分。

网址:arraymaptemplate解析器功能。

您可以使用介绍模板创建链接并使用数组模板拆分并将单词添加到介绍模板。

我没有尝试使用分隔符作为空格,但是从文档来看,似乎应该使用html编码来处理空间。