Jsoup의 HTML을 일반 텍스트로 변환하여 줄 바꿈 유지
Jsoup은 HTML을 조작하기 위한 강력한 도구를 제공하지만 기본적으로 HTML을 일반 텍스트로 변환합니다. 텍스트는 줄 바꿈을 병합하여 연속 텍스트로 렌더링할 수 있습니다. 이러한 구분선을 유지하기 위해 Jsoup을 활용하는 방법은 다음과 같습니다.
줄 바꿈 보존을 위한 사용자 정의 함수:
제공된 Java 코드 조각은 Jsoup의 text()를 활용하는 사용자 정의 함수인 noTags를 소개합니다. 입력 HTML에서 HTML 태그를 제거하는 방법입니다. 그러나 줄바꿈은 유지하지 않습니다.
전체 텍스트 추출로 기능 강화:
Jsoup의 JsonNode 클래스는 줄바꿈을 준수하면서 텍스트 내용을 추출하는 getWholeText() 메서드를 제공합니다. 이 방법을 사용하면 noTags 함수를 개선할 수 있습니다.
public String noTags(String str) {
return Jsoup.parse(str).wholeText();
}
줄 바꿈 보존 구현:
줄 바꿈을 유지하는 보다 세련된 솔루션:
public static String br2nl(String html) {
if (html == null)
return html;
Document document = Jsoup.parse(html);
// Suppress pretty printing to preserve line breaks and spacing
document.outputSettings(new Document.OutputSettings().prettyPrint(false));
// Append line breaks for
tags
document.select("br").append("\\n");
// Prepend line breaks for tags
document.select("p").prepend("\\n\\n");
String s = document.html().replaceAll("\\\\n", "\n");
return Jsoup.clean(s, "", Whitelist.none(), new Document.OutputSettings().prettyPrint(false));
}
이 사용자 정의 기능은 원하는 출력에 맞춰 줄 바꿈을 유지합니다. 두 가지 주요 요구 사항을 충족합니다.
태그는 줄 바꿈(\n)으로 변환됩니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3