Существуют ли какие-либо библиотеки Java для проверки предоставленного пользователем HTML на стороне сервера? - PullRequest
6 голосов
/ 25 февраля 2010

У меня есть служба, которая берет предоставленный пользователем форматированный текст (может иметь теги HTML) и сохраняет его в базе данных. Эти данные используются другим приложением. Но иногда в предоставленных пользователем данных отсутствуют теги HTML и закрывающие теги. Я хочу проверить, является ли предоставленные пользователем данные действительным HTML или нет, и в зависимости от этого я хочу предупредить пользователя.

Существуют ли библиотеки Java для проверки HTML?

Ответы [ 5 ]

3 голосов
/ 25 февраля 2010

Вы можете попробовать JTidy , но это слишком медленно для простой очистки HTML.

Если вы хотите просто обработать HTML, попробуйте NekoHTML , он легкий и быстрый

3 голосов
/ 25 февраля 2010

Вы можете попробовать JTidy .

JTidy - это Java-порт HTML Tidy, Проверка синтаксиса HTML и довольно принтер.

1 голос
/ 14 февраля 2015

Вы можете использовать Jsoup , из проекта README

Вот пример:

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
...
String markup = "<body><head>...";
Jsoup.isValid(markup, null);

Вместо null вы можете передать объект Whitelist ? в качестве второго параметра методу isValid.

Кроме того, вы можете легко установить эту библиотеку , используя Gradle

1 голос
/ 25 февраля 2010

Validator.nu , который реализует спецификацию HTML5, IMO.

0 голосов
/ 26 февраля 2010

Существует замечательная вещь, называемая NekoHTML, которая представляет собой просто тонкую оболочку над анализатором Apache Xerces, которая включает восстановление / исправление ошибок. Он не столько проверяет, сколько исправляет ошибку, поэтому вы можете обработать результат как XML, то есть запустить его через XPath или XSLT. В течение нескольких месяцев он работал безупречно для совершенно произвольного HTML-кода сторонних сайтов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...