如何修复HTML片段中的悬挂html标签?

时间:2019-12-11 09:52:53

标签: java html

我从外部来源获得了可能是组成错误的HTML片段:

<p>Include all the information someone would need to answer your <i><i>question<p>

如何使其在较大的HTML文档中安全呈现,并关闭Java中所有悬挂的HTML标签?

2 个答案:

答案 0 :(得分:1)

您可以尝试将传入的字符串解析为XML-有很多工具可以做到这一点。如果失败,则表示HTML格式错误(例如,并非所有标签都已正确关闭)。

如果您需要更好的验证,则可以另外针对XSD进行验证。

答案 1 :(得分:1)

您可以通过编写自己的Java自定义解析器并修复标签来实现。 想法将是这样,获取所有打开的标签并在字符串中找到其相关的结束标签。 如果找不到结束标记,可以用替换为

您需要处理重复项以及pre,post有效标签。

否则,您可以尝试使用此方便的开源解析,以帮助实现这一目标。 http://java-source.net/open-source/html-parsers

http://htmlcleaner.sourceforge.net/看起来是不错的选择。 希望这会有所帮助。