반응형
웹 관련 개발을 하다보면 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; } |
자세한 궁금점은 댓글 달아 주시면 답변 드립니다.
반응형
'java' 카테고리의 다른 글
jdbc connection reset (0) | 2017.09.09 |
---|---|
java - spring - MultipartFile transferTo FileNotFoundException (2) | 2017.09.06 |
java - telnet 대신 포트 방화벽 확인하기 port check (2) | 2017.09.05 |
spring boot context path (0) | 2017.08.31 |
java - list random shuffle (0) | 2017.08.23 |
spring boot logback 기본 spring.log 위치 변경하기. (0) | 2017.08.22 |
java - String join (0) | 2017.08.21 |
jdk1.8 MaxPermSize -> MaxMetaspaceSize (0) | 2017.08.02 |