2010-02-25 3 views
5

나는 사용자가 풍부한 텍스트 (HTML 태그를 가질 수 있음)를 받아서 데이터베이스에 저장하는 서비스를 가지고있다. 이 데이터는 다른 응용 프로그램에서 사용합니다. 그러나 사용자가 제공 한 데이터에 HTML 태그가 누락되어 잘못된 닫기 태그가있는 경우가 있습니다. 사용자가 제공 한 데이터가 유효한 HTML인지 아닌지와 사용자에게 경고하고 싶은지에 따라 유효성을 검사하려고합니다.서버 측에서 사용자가 제공 한 HTML의 유효성을 검사하기위한 자바 라이브러리가 있습니까?

HTML 유효성 검사를 수행 할 Java 라이브러리가 있습니까?

답변

2

JTidy 시도해 볼 수는 있지만 간단한 HTML 정리에는 너무 느립니다. 당신은 당신이 NekoHTML을 시도 할 수 있습니다 단지 프로세스 HTML을 원하는 경우에

, 그것은 IMO의 HTML5 스펙을 구현하는 가볍고

+0

있는 유일한 방법을 사용 할 수 있습니다하면 유효성 검사 오류 메시지의 모든 종류의 사용자를 제시하지해야한다는 것입니다. 귀하의 사용자는 아마 평균 조입니다, 그들은 그들을 이해하지 않습니다. –

+0

나는 양쪽 모두를 시험해보고 어느 것이 나를 위해 일하는 지 볼 것이다. 고맙습니다! – chetu

3

시도해 볼 수 있습니다 JTidy.

JTidy는 HTML 단정하는 HTML 문법 검사기 예쁜 프린터의 자바 포트입니다.

0

오류 복구/수정 기능을 켜는 Apache Xerces 파서에 비해 얇은 래퍼 인 NekoHTML이라는 훌륭한 기능이 있습니다. 오류를 정정하는 것만큼이나 유효성을 검사하지 않으므로 결과를 XML로 처리 할 수 ​​있습니다. 즉 XPath 또는 XSLT를 통해 실행합니다. 제 3 자 사이트에서 온 임의의 HTML에 대해 몇 달 동안 완벽하게 작동했습니다.

0

당신은 프로젝트 README 여기

에서, Jsoup를 사용할 수있는 것은 예입니다

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

대신 null, 당신은 isValid 방법 두 번째 매개 변수로 Whitelist? 개체를 전달할 수 있습니다.

게다가, 당신은 쉽게 install this library 고려 Gradle을

관련 문제