很抱歉这个问题太长了,它更像是一个“这可能吗”而不是“我该怎么做”的问题。
我的目标是从Wikipedia标记中删除除纯文本之外的所有内容--表格、模板、格式。无论这些是wikitext markup (例如''bold text'')还是HTML (<b>bold text</b>)。
维基百科的文本是定制标签的混合:模板{{ ... }},表格{| ... |},链接[[ ... ]]和HTML元素。解析它就像是一场噩梦。您不能使用正则表达式,因为标记可以嵌套,并且它可以包含HTML,因此几乎任何事情都是可能的。HTML中的一些文本我希望保留(在粗体文本中),但其他内容,如表格,将需要完全剥离。
我想过重新使用像Nokogiri这样的XML解析器,添加{{/}}作为<x>/</x>的替代品。
知道Nokogiri (或其他Ruby XML解析器)的人知道这是不是可能的,甚至是一个好主意?
我的另一种选择是改变现有解析器的用途,比如用于维基标记的WikiCloth,然后尝试通过另一种方法删除任何剩余的超文本标记语言。
https://stackoverflow.com/questions/9108154
复制相似问题