728x90
1. 문제상황
- 제휴사와 전문 개발 중 상품 상세페이지의 이미지를 전달 해달라는 요건 전달 받음
- 데이터 확인 결과 상품 상세 페이지의 이미지를 따로 저장하지 않고 html을 통째로 저장
- 전문 전달을 위해 html에서 이미지 url을 추출 해 전달 해야 하는 상황 발생
2.해결 방안
- Pattern 정규식을 사용 해 img 태그의 src 속성값을 추출한다.
- 핵심 코드
Pattern pattern = Pattern.compile("<img [^>]*src=\"([^\"]*)\"");
Matcher matcher = pattern.matcher(input);
public static void main(String[] args) {
String detailImg = "<p><img alt=\"\" src=\"https://img.test.com/722/test.jpg\" style=\"height:19938px; width:1000px\" /><img alt=\"\" src=\"https://img.test.com/test132.jpg\" style=\"height:15096px; width:1000px\" /><img alt=\"\" src=\"https://img.test.com/test1342.jpg\" style=\"height:9523px; width:1000px\" /><img alt=\"\" src=\"https://img.test.com/test0117.jpg\" style=\"height:5068px; width:1000px\" /><img alt=\"\" src=\"https://img.test.com/test22.jpg\" style=\"height:19769px; width:1000px\" /></p>\n\n<p></p>\n";
List<String> imageUrls = extractImageUrls(detailImg);
for (String url : imageUrls) {
System.out.println(url);
}
}
private static List<String> extractImageUrls(String input) {
List<String> urls = new ArrayList<>();
Pattern pattern = Pattern.compile("<img [^>]*src=\"([^\"]*)\"");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
urls.add(matcher.group(1));
}
return urls;
}
728x90
'개발관련 > JAVA' 카테고리의 다른 글
[Spring Error] cvc-complex-type.2.3: Element 'beans' cannot have character [children] (0) | 2023.04.21 |
---|---|
[JAVA] 문자열 byte 확인, byte 단위로 자르기 (0) | 2022.08.03 |