首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用经过修改的Nokogiri解析Wikitext?

使用经过修改的Nokogiri解析Wikitext?
EN

Stack Overflow用户
提问于 2012-02-02 14:38:53
回答 1查看 431关注 0票数 1

很抱歉这个问题太长了,它更像是一个“这可能吗”而不是“我该怎么做”的问题。

我的目标是从Wikipedia标记中删除除纯文本之外的所有内容--表格、模板、格式。无论这些是wikitext markup (例如''bold text'')还是HTML (<b>bold text</b>)。

维基百科的文本是定制标签的混合:模板{{ ... }},表格{| ... |},链接[[ ... ]]和HTML元素。解析它就像是一场噩梦。您不能使用正则表达式,因为标记可以嵌套,并且它可以包含HTML,因此几乎任何事情都是可能的。HTML中的一些文本我希望保留(在粗体文本中),但其他内容,如表格,将需要完全剥离。

我想过重新使用像Nokogiri这样的XML解析器,添加{{/}}作为<x>/</x>的替代品。

知道Nokogiri (或其他Ruby XML解析器)的人知道这是不是可能的,甚至是一个好主意?

我的另一种选择是改变现有解析器的用途,比如用于维基标记的WikiCloth,然后尝试通过另一种方法删除任何剩余的超文本标记语言。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-03 14:03:39

这听起来是个好主意。然而,你不可能“修补”诺基亚__,“添加{{/}}作为<x>/</x>__的替代品”。这是因为Nokogiri完成的大部分工作-解析和XPath以及生成DOM的字符串表示-实际上是由libxml2在后端完成的。你必须修补并重新编译libxml2 (然后根据你的新版本重新编译诺基里)…但在这一点上,我不知道Nokogiri会怎么做。

您可能会更幸运地尝试修补REXML,因为它是用纯Ruby语言编写的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9108154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档