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

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

Mary-Kate Olsen
풀어 주다: 2024-10-31 01:15:29
원래의
252명이 탐색했습니다.

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 기능을 개선할 수 있습니다.

<code class="java">public String noTags(String str) {
    return Jsoup.parse(str).wholeText();
}</code>
로그인 후 복사

줄 바꿈 보존 구현:

줄 바꿈을 유지하는 보다 세련된 솔루션:

<code class="java">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 <br> tags
    document.select("br").append("\n");
    // Prepend line breaks for <p> 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));
}</code>
로그인 후 복사

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

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

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

위 내용은 Jsoup를 사용하여 HTML을 일반 텍스트로 변환할 때 줄 바꿈을 어떻게 보존할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿