Java
Java에서 html태그만 제거하기
포니테일매니아
2010. 2. 16. 14:07
/**
* 정규식을 통해 html태그를 제거하고 text만 가져온다.
*/
public static String getText(String content) {
Pattern SCRIPTS = Pattern.compile("<(no)?script[^>]*>.*?</(no)?script>",Pattern.DOTALL);
Pattern STYLE = Pattern.compile("<style[^>]*>.*</style>",Pattern.DOTALL);
Pattern TAGS = Pattern.compile("<(\"[^\"]*\"|\'[^\']*\'|[^\'\">])*>");
Pattern nTAGS = Pattern.compile("<\\w+\\s+[^<]*\\s*>");
Pattern ENTITY_REFS = Pattern.compile("&[^;]+;");
Pattern WHITESPACE = Pattern.compile("\\s\\s+");
Matcher m;
m = SCRIPTS.matcher(content);
content = m.replaceAll("");
m = STYLE.matcher(content);
content = m.replaceAll("");
m = TAGS.matcher(content);
content = m.replaceAll("");
m = ENTITY_REFS.matcher(content);
content = m.replaceAll("");
m = WHITESPACE.matcher(content);
content = m.replaceAll(" ");
return content;
}
* 정규식을 통해 html태그를 제거하고 text만 가져온다.
*/
public static String getText(String content) {
Pattern SCRIPTS = Pattern.compile("<(no)?script[^>]*>.*?</(no)?script>",Pattern.DOTALL);
Pattern STYLE = Pattern.compile("<style[^>]*>.*</style>",Pattern.DOTALL);
Pattern TAGS = Pattern.compile("<(\"[^\"]*\"|\'[^\']*\'|[^\'\">])*>");
Pattern nTAGS = Pattern.compile("<\\w+\\s+[^<]*\\s*>");
Pattern ENTITY_REFS = Pattern.compile("&[^;]+;");
Pattern WHITESPACE = Pattern.compile("\\s\\s+");
Matcher m;
m = SCRIPTS.matcher(content);
content = m.replaceAll("");
m = STYLE.matcher(content);
content = m.replaceAll("");
m = TAGS.matcher(content);
content = m.replaceAll("");
m = ENTITY_REFS.matcher(content);
content = m.replaceAll("");
m = WHITESPACE.matcher(content);
content = m.replaceAll(" ");
return content;
}