在语义MediaWiki中拆分字符串

在语义MediaWiki中拆分字符串,mediawiki,mediawiki-templates,semantic-mediawiki,Mediawiki,Mediawiki Templates,Semantic Mediawiki,我想在我的wiki页面中使用现有字符串添加链接。 此字符串将附加到url以形成完整的url 该字符串由许多单词组成,例如“国际计算中的危机管理” 我想用空格“”分隔,然后构造这个字符串:“危机+管理+内部+国际+计算” 以下是我在wiki页面中的字符串变量: {{SUBJECTPAGENAME}} 注意:我必须首先检查字符串是否由多个单词组成,就像字符串只是一个单词一样,我不会执行拆分功能 我在网上搜索,没有找到明确的语义,我们为了执行这个问题 有人经历过这样的事情吗 我建议您使用自定义解析器

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

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

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

以下是我在wiki页面中的字符串变量:

{{SUBJECTPAGENAME}}
注意:我必须首先检查字符串是否由多个单词组成,就像字符串只是一个单词一样,我不会执行拆分功能

我在网上搜索,没有找到明确的语义,我们为了执行这个问题


有人经历过这样的事情吗

我建议您使用自定义解析器函数

或者作为一种技巧,尝试使用作为其一部分的arraymaptemplate解析器函数拆分字符串

URL:解析器函数

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


我没有尝试使用分隔符字符作为空格,但从文档来看,它应该使用html编码作为空格。

如果我从注释中理解正确,您希望替换字符串中出现的所有空格,并将其替换为
+
。这可以通过的字符串函数完成

如果您运行的是MediaWiki的最新版本(>1.18,请转到Special:version进行检查),则ParserFunctions扩展将与软件捆绑在一起。只需将以下内容添加到
LocalSettings.php
,即可启用它:

require_once "$IP/extensions/ParserFunctions/ParserFunctions.php";
$wgPFEnableStringFunctions = true;
然后你就可以写作了

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

但是请注意,如果您真正想要的只是页面名称的url版本,那么您可以使用
{{SUBJECTPAGENAMEE}
而不是
{{SUBJECTPAGENAME}

使用拆分的字符串做什么?或者您只是想用
+
替换空格吗?我有一个服务在另一个(外部)服务器上运行,该服务从源服务器的url中获取一些字符串。所以,一个url将被放置在服务器a中,该url指向服务器B中的一个服务。我在服务器a中有一个字符串,我需要将它附加到该服务url中。Etc:www.xyz.com/this+是+a+字符串斜杠后的文本是一个字符串,格式为“this is a string”。我只需要将此类型的任何字符串拆分为空字符串“”,并将其添加到url中,以+分隔。我希望这能进一步解释。为什么你不能搜索所有空格并用
+
?这就是我要找的@leo先生