我正在创建一个定制的Wiki标记解析器/解释器。然而,在解释这样的功能方面,有一项很大的任务:
{{convert|500|ft|m|0}}它被转换成这样:
500 feet (152 m) 我希望避免手动编写这些函数的解释,而是使用一种查询字符串的方法。
+akiva@akiva-ThinkPad-X230:~$ wiki-to-text "convert|3|to(-)|6|ft|abbr=on}}"并得到以下的回报:
"3 to 6 ft (0.91–1.83 m)"有这样的工具吗?离线是目前为止最理想的解决方案,但我可以接受查询服务器。
发布于 2016-02-02 13:48:21
您可以查询MediaWiki api以从wikitext获取解析文本。例如,要解析模板模板:从英语维基百科开始,您可以使用:https://en.wikipedia.org/w/api.php?action=parse&text={{Template:done}}&title=Test (参见联机解析文档)。但是,您需要一个MediaWiki实例,该实例提供要解析的模板,并以完全相同的方式工作。如果您在本地安装了一个too服务器,您也可以安装自己的MediaWiki实例并在本地解析wikitext。
顺便说一下:还有一个Parsoid项目,它实现了一个基于节点的wikitext->html->wikitext解析器。但是,iirc仍然需要查询wiki的api来解析模板。
https://stackoverflow.com/questions/35114969
复制相似问题