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>
이 사용자 정의 기능을 사용하면 원하는 출력에 맞춰 줄바꿈이 유지됩니다. 두 가지 주요 요구 사항을 충족합니다.
태그는 줄 바꿈(n)으로 변환됩니다.
위 내용은 Jsoup를 사용하여 HTML을 일반 텍스트로 변환할 때 줄 바꿈을 어떻게 보존할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!