对于这个问题的长度抱歉,这更像是“这可能”而不是“我该怎么做”。
我的目标是从维基百科标记中删除除纯文本之外的所有内容 - 表格,模板,格式。这些是wikitext markup(例如''bold text''
)还是HTML(<b>bold text</b>
)。
维基百科文字混合了自定义标签:模板{{ ... }}
,表格{| ... |}
,链接[[ ... ]]
和HTML元素。解析它是一种噩梦。您不能使用正则表达式,因为标签可以嵌套,并且它可以包含HTML,因此几乎任何事情都是可能的。我希望保留HTML中的一些文本(粗体文本中的内容),但是需要完全删除表格等其他内容。
我考虑重新使用像Nokogiri这样的XML解析器,添加{{
/ }}
作为<x>
/ </x>
的替代品。
知道Nokogiri(或其他Ruby XML解析器)的人是否知道这是可能的还是一个好主意?
我的替代方法是为wiki标记重新调整现有的解析器,如WikiCloth,然后尝试通过其他方法删除任何剩余的HTML。