代码之家  ›  专栏  ›  技术社区  ›  Anon

如何将包含双花括号函数的Wikitext标记转换为明文或html?

  •  1
  • Anon  · 技术社区  · 9 年前

    我正在创建一个自定义的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)"
    

    有这样的工具吗?离线是目前为止最理想的解决方案,但我可以忍受必须查询服务器。

    1 回复  |  直到 9 年前
        1
  •  3
  •   Florian    9 年前

    您可以查询 MediaWiki api 从wikitext获取解析文本。E、 g.解析模板模板:从英语维基百科完成,您可以使用: https://en.wikipedia.org/w/api.php?action=parse&text={{Template:done}}&title=Test (参见 online docs for parse ). 然而,您需要一个MediaWiki实例,它提供了一个您想要解析的模板,并且以完全相同的方式工作。如果您在本地安装Web服务器,您也可以安装自己的MediaWiki实例并在本地解析Wiki文本。

    顺便说一句:这是 Parsoid project ,它实现了基于节点的wikitext->html->wikitext解析器。然而,iirc仍然需要查询wiki的api来解析模板。

    推荐文章