반응형

웹 관련 개발을 하다보면 HTML 코드를 변환 해야하는 경우가 종종 생깁니다.

보통 타 시스템과의 연동시에 이런 경우가 많이 발생합니다.


여러 변환중에 기본적인 이미지 태그의 가로 세로 설정을 바꿔치기하는 소스를 공유 합니다.


기본적으로 정규식을 이용해서 속성 width, height / 스타일 width, height 를 모두 지워 버리고 style="width:100%" 를 넣어주는 소스 입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public static String htmlImgWidth100Percent(String source) {
    Pattern pattern = Pattern.compile("<img[^>]+>");
    Matcher matcher = pattern.matcher(source);
    while (matcher.find()) {
      String imgTag = matcher.group(0);
      String newImgTag = imgTag//
          .replaceAll("width\\s*=\\s*[^\\s>]+""")//
          .replaceAll("width\\s*:\\s*[^'\"\\s]+""")//
          .replaceAll("height\\s*=\\s*[^\\s>]+""")//
          .replaceAll("height\\s*:\\s*[^'\"\\s]+""");
      if (newImgTag.matches(".*style\\s*=\\s*['\"].*")) {
        newImgTag = newImgTag.replaceAll("(style\\s*=\\s*['\"])""$1width:100%;");
      } else {
        newImgTag = newImgTag.replaceAll("<img""<img style='width:100%;' ");
      }
      source = source.replace(imgTag, newImgTag);
    }
    return source;
  }




자세한 궁금점은 댓글 달아 주시면 답변 드립니다.

반응형

+ Recent posts