본문 바로가기
programming/SpringJava

자바 정규식 사용 html 태그의 모든 속성 제거

by 개코 - 개발과 코딩 2021. 3. 26.

자바를 하다보면 정규식 사용하면 좋을 때가 있다. html 문자열의 중 태그 안에 있는 모든 속성을 제거한다든지 말이다. 이 정규식이란 것이 아직까지 딱 와닿지는 않지만, 알아두면 편하다. 많이 사용할 일은 없고, 간혹 사용할 것이긴 하지만 말이다. 자바 정규식을 사용하여 html 태그의 모든 속성을 제거해 보자.

 

정규식 사용 replaceAll

자바에서 replaceAll 은 변경하고자 하는 모든 단어 문자열을 변경하는 역할을 한다.

그렇기에 정규식을 사용하면 모든 단어를 없애는 효과도 볼 수 있다.

아래는 replaceAll 의 사용법이다.

// 사용구문
public  String replaceAll (String regex, String replacement)

// "가"의 모든 항목을 "나"로 바꿉니다.
string.replaceAll ( "가" , "나" );

// "is"의 모든 항목을 "was"로 바꿉니다.
string.replaceAll ( "가나다" , "다라마" );

// 모든 공백을 제거한다.
s1.replaceAll ( "\\ s" , "" );

아래의 코드를 보자.
정규식을 사용할 수도 있다.
문자열로 되어 있는 html에서 모든 속성을 제거하고 태그만 남겨놓는 코드이다.

replaceAll 부분과 인자값으로 들어간 정규식을 살펴보자.

정규식을 다시 공부해 봐야 겠다. 헷갈린다.

public class RemoveAllHtml5TagsAttributes {

	public static void main(String[] args) {
		
		// TODO Auto-generated method stub

		String vStrTestTitle = "자바 HTML5 태그의 모든 속성 제거하기"; 
		String vStringTags = "";
		
		System.out.println("\n");
		System.out.println(" 시작 : " + vStrTestTitle + " -----");
		
		//--------------------------------------------------
		
		StringBuffer vStringBuffer = new StringBuffer();
		vStringBuffer.append("<script type=\"text/javascipt\"> var a = 1;</script>");
		vStringBuffer.append("<span onmousemove='doBadXss()'>자바스크립트</span>");
		vStringBuffer.append("<div id=\"someId\" style=\"color: #000000\"><p class=\"someClass\">Some Text</p><img src=\"images/someimage.jpg\" alt=\"\" /><a href=\"somelink.html\">Some Link Text</a></div>");
		
		vStringTags = vStringBuffer.toString();
		
		System.out.println("\n");
		System.out.println("HTML TAGS 원본 : " + vStringTags + " -----");
		
		vStringTags = vStringBuffer.toString().replaceAll("(<\\w+)[^>]*(>)", "$1$2");
		
		System.out.println("\n");
		System.out.println("HTML TAGS 속성제거 : " + vStringTags + " -----");
		
		//--------------------------------------------------
		
		System.out.println("\n");
		System.out.println(" 종료 : " + vStrTestTitle + " -----");
	}

}

자바 html tag 의 모든 속성 제거
자바 html tag 의 모든 속성 제거

반응형

댓글