在语义MediaWiki中存储任意字符

时间:2019-01-03 16:04:38

标签: mediawiki semantic-mediawiki

我正在尝试将一些包含html标记的文本存储到属性中,这是行不通的。我为数据类型为“ text”的属性和模板创建了一个表单。保存表单会将文本写到模板中,但据我所知,它包含非法字符,因此无法显示。

我要做什么:

  • 我需要一个表单来输入数据,其中包含html标签和特殊字符 字符
  • 我希望能够使用查询来查找所有这些页面 并使用我提供给Ask查询的模板显示该文本。

我也尝试使用自由文本选项,但是后来我无法使用Ask查询来检索它。

什么是最好的,或者至少是可行的解决方案?

非常感谢

2 个答案:

答案 0 :(得分:0)

使用html标签存储文本在SemanticMediaWiki中有点棘手

原因是MediaWiki开发人员发明了StripMarkers UNIQ/QINU

当解析带有html标记的页面内容时,该解析有点“推迟”了。不幸的是,这种技术细节使像SMW开发人员这样的扩展开发人员很难解决处理此类内容的问题。这也使外行人很难跟随有关如何解决问题的讨论

以下是两个标记为“已关闭”的SMW问题的示例。这种状态表示通过遵循问题中的配置提示可以解决您的问题。如果不是,请在SMW问题列表上提出问题,甚至开始重新发布问题。

答案 1 :(得分:0)

在我的 wiki 上,我们遇到了这个问题,并通过使用 the regex extension 和 a使用 {{#set:}} 设置属性之前的模板。如果您想直接在 wiki 上显示格式化文本,请单独调用该参数而不替换 unicode 字符。

当您想要显示属性时,您可以在显示您现在完整的代码之前使用正则表达式运行反向替换(使用 template result format 允许您对查询的输出执行操作)。< /p>

要切换到特殊字符,您可以创建此模板

{{#regex:{{#regex:{{#regex:{{#regex:{{#regex:{{{1|}}}|/=/|꞊}}|/\[/|[}}|/\]/|]}}|/>/|≽}}|/</|≼}}

要切换回来,您可以将其用作模板

{{#regex:{{#regex:{{#regex:{{#regex:{{#regex:{{{1|}}}|/꞊/|=}}|/[/|[}}|/]/|]}}|/≽/|>}}|/≼/|<}}