"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Jsoup를 사용하여 HTML을 일반 텍스트로 변환할 때 줄 바꿈을 어떻게 보존할 수 있습니까?

Jsoup를 사용하여 HTML을 일반 텍스트로 변환할 때 줄 바꿈을 어떻게 보존할 수 있습니까?

2024-11-07에 게시됨
검색:883

How Can I Preserve Line Breaks When Converting HTML to Plain Text with Jsoup?

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)); }

이 사용자 정의 기능은 원하는 출력에 맞춰 줄 바꿈을 유지합니다. 두 가지 주요 요구 사항을 충족합니다.

  1. 원래 줄 바꿈(\n)이 유지됩니다.

  2. 태그는 줄 바꿈(\n)으로 변환됩니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3