본문 바로가기
Project/IMFIND

[프로젝트] 에디터 태그 자르기

by hongchii 2021. 1. 18.
728x90
반응형

1/18

 

 

에디터를 사용하니까 업로드한 파일과 내용에 <p></p><img src="">등등 태그도 같이 글 내용에 저장됐다.

 

태그 자르기 전 디비에 저장된 내용

 

 

쓸데 없는 태그 <p>~ 는 자르고

이미지 경로 저장을 위해 <img src"">~ 부분은 따로 지정해둔 변수에 저장

 

 

@RequestMapping("/itemInsert")
public String itemInsert(BoardVO boardvo) {
	Pattern pattern  =  Pattern.compile("<img[^>]*src=[\"']?([^>\"']+)[\"']?[^>]*>"); // 이미지태그 자르기
	String content = boardvo.getLost_Content();
	Matcher match = pattern.matcher(content);
	String Lost_Up_File = null;
	String uploadPath = "/Users/hongmac/Documents/upload/"; 
		
	if(match.find()){ 
		Lost_Up_File = match.group(0); 
	}
	boardvo.setLost_Up_File(Lost_Up_File); // 이미지 태그 Lost_Up_File에 삽입
	//Lost_Content부분에 있는 태그들 자르기
	boardvo.setLost_Content(boardvo.getLost_Content().replaceAll("<(/)?([a-zA-Z]*)(\\\\s[a-zA-Z]*=[^>]*)?(\\\\s)*(/)?>", ""));
	String replace1 = boardvo.getLost_Content().replaceAll("<(/)?([a-zA-Z]*)(\\\\s[a-zA-Z]*=[^>]*)?(\\\\s)*(/)?>", "");
	String replace2 = replace1.replaceAll("<img[^>]*src=[\"']?([^>\"']+)[\"']?[^>]*>", "");
	   
	boardvo.setLost_Content(replace2);
	boardService.itemInsert(boardvo);
	     
	return "redirect:/item";		
}

 

replaceAll(); 연달아서는 적용이 안돼서 한번 자르고, 두번 자르고 나눠서 작업해야했다.

 

아주 잘 들어갔다.

728x90
반응형

댓글