如何获取MediaWiki页面标题的一部分?

时间:2016-04-14 17:29:35

标签: search mediawiki string-parsing

在MediaWiki 1.26.2中,我如何获取部分页面标题以在#ifexist语句中使用它?

我需要链接到MediaWiki中的不同但相关的文章,如果页面存在或不存在则提醒用户。为此,我做了以下事情:

我有一个名为ARTICLE_NAME的网页。与之关联的是名为Notes:ARTICLE_NAME的页面。 "注意:"不是命名空间,而是ARTICLE_NAME的字符串。由于策略限制,我无法为Notes创建命名空间。

在ARTICLE_NAME页面中,以下代码检查是否存在备注:

{{#ifexist: Notes:{{PAGENAME}} | {{alert_box}} | }

因此,如果ARTICLE_NAME有一个相关的Notes:ARTICLE_NAME页面,我会收到一个很好的自定义提醒框,突出显示该事实并链接到该页面。

当我尝试反向时,我的问题就开始了。在Notes:ARTICLE_NAME页面中,如果有名为ARTICLE_NAME的页面,我需要注释显示警告框。代码

{{#ifexist: {{PAGENAME}} | {{alert_box}} | }

没有任何因为{{PAGENAME}}带来Notes:ARTICLE_NAME预期。

我怎样才能得到"注意事项后的所有内容:",使用{{PAGENAME}}而不是#ifexist来检查Name: System.Net.IPAddress MethodTable: 71c3d860 EEClass: 71a299f0 Size: 40(0x28) bytes File: C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll Fields: MT Field Offset Type VT Attr Value Name 727e821c 40018b1 4 System.Int64 1 instance 4294967295 m_Address 727f2248 40018b2 14 System.String 0 instance 00000000 m_ToString 71c42030 40018b6 1c System.Int32 1 instance 2 m_Family 727e1994 40018b7 18 System.UInt16[] 0 instance 022c20a8 m_Numbers 727e821c 40018b8 c System.Int64 1 instance 0 m_ScopeId 727f3aa4 40018b9 20 System.Int32 1 instance 0 m_HashCode 71c3d860 40018ad 7ec System.Net.IPAddress 0 static 022c1ff8 Any 71c3d860 40018ae 7f0 System.Net.IPAddress 0 static 022c203c Loopback 71c3d860 40018af 7f4 System.Net.IPAddress 0 static 022c2080 Broadcast 71c3d860 40018b0 7f8 System.Net.IPAddress 0 static 022c2080 None 71c3d860 40018b3 7fc System.Net.IPAddress 0 static 022c20c4 IPv6Any 71c3d860 40018b4 800 System.Net.IPAddress 0 static 022c2108 IPv6Loopback 71c3d860 40018b5 804 System.Net.IPAddress 0 static 022c214c IPv6None 代码?

2 个答案:

答案 0 :(得分:0)

#pos#ifeq合并。

示例:

{{#ifeq:{{#pos:text1|text2}}| |text1 does not contain text2|text1 contains text2}}

答案 1 :(得分:0)

所以在找到方法之后我找到了一种方法:从页面名称中删除Notes:,然后将其放在#ifexist上。

{{#replace: {{PAGENAME}}|Notes:|}}

这样它就什么都不替换Notes:。我创建了一个名为ARTICLE_TITLE的神奇单词,因此注释的代码是:

{{#ifexist: :{{ARTICLE_TITLE}} | {{Alert_box}} | }}