TinyMCE的编辑器或Jsoup可以修复HTML标记错误?

问题描述 投票:1回答:1

我使用TinyMCE的编辑器,在我的项目。由编辑器生成的HTML标记,使用解析的Jsoup(v.1.7.2),并用于使用Apache FOP生成PDF。当用户使用编辑器本身的功能,它可以生成有效的HTML标记,但如果一些用户使用的工具,包括直接从其他来源的源代码,让我们说他进入,

<ul>
  <ul>
     <ul>
        <li>
            one
        </li>
        <li>
            two
        </li>
        <li>
            three
        </li>
        <li>
            four
        </li>
    </ul>
</ul></ul>

编辑不固定的标记来,

    <ul>
        <li>
            one
        </li>
        <li>
            two
        </li>
        <li>
            three
        </li>
        <li>
            four
        </li>
    </ul>

按照https://validator.w3.org/nu/#textarea第一标记是无效的,

Error: Element ul not allowed as child of element ul in this context. 

是固定的HTML标记可能在TinyMCE的编辑器或Jsoup解析器,如果没有任何其他的方法呢?

tinymce jsoup tinymce-4 w3c-validation
1个回答
1
投票

您可以尝试使用JTidy,

Tidy tidy = new Tidy();
tidy.setXHTML(true);
final InputStream inputStream = new FileInputStream("input.html");
tidy.parse(inputStream, System.out);
© www.soinside.com 2019 - 2024. All rights reserved.