hanker

JAVA - HTML String값 특정 태그 변경 본문

JAVA

JAVA - HTML String값 특정 태그 변경

hanker 2024. 9. 7. 20:57
반응형

HTML언어를 문자열로 받을 때, 태그 열고 닫는 태그가 있어서 replace 문자열 변경이 수월하진 않다.

 

변경하는 방법을 찾아보자.

 

1. 정규식 사용

 - 시작 태그와 끝나는 꺽새(>) 를 찾아서 그 안에 있는 내용들이랑 같이 삭제한다.

    public static void main(String[] args) throws Exception {

        String html = "<html><header></header><body><div>안녕하세요</div><img src=\"/images/google.png\" alt=\"Google\" /></body></html>";


        String regExp = "<img[^>]*>";

        System.out.println(html.replaceAll(regExp, ""));
    }

결과

 

 

2. JSOUP 라이브러리 사용

<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.14.3</version> 
</dependency>

pom.xml에 라이브러리 추가

 

public static void main(String[] args) throws Exception {

    String html = "<html><header></header><body><div>안녕하세요</div><img src=\"/images/google.png\" alt=\"Google\" /></body></html>";

    // HTML을 Document 객체로 파싱
    Document doc = Jsoup.parse(html);

    // <img> 태그를 전체 제거
    Elements imgTags = doc.select("img");
    for (Element img : imgTags) {
        img.remove();
    }

    System.out.println(doc.html());
}

결과. 

반응형