Может ли tinyMCE редактор или Jsoup исправить ошибки HTML-разметки?
Я использую редактор tinymce в моем проекте. HTML-разметка, сгенерированная редактором, анализируется с помощью Jsoup (v.1.7.2) и используется для генерации pdf с использованием Apache FOP. Когда пользователь использует функции самого редактора, он генерирует действительную 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/ первая разметка недействительна,
Error: Element ul not allowed as child of element ul in this context.
Возможно ли исправить разметку html в редакторе tinymce или с помощью анализатора Jsoup, если нет другого подхода?
1 ответ
Решение
Вы можете попробовать использовать JTidy,
Tidy tidy = new Tidy();
tidy.setXHTML(true);
final InputStream inputStream = new FileInputStream("input.html");
tidy.parse(inputStream, System.out);