반응형
Java에서 HTML 태그를 제거하는 정규식 적용
HTML 태그를 제거하고 순수하게 텍스트만 가져오는 부분이 필요해서 관련 자료를 검색하다가 나온 소스를 정리해봤습니다.
정규식에 대해서는 개념은 들어보셨을 겁니다.
나중에 기회가 되면 정규식에 대해서도 한번 정리해 보도록 하구요..
오늘은 간단하게 원하는 기능을 구현한 소스를 보여드리도록 하겠습니다.
- private 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의 스크립트 태그와 내용, 스타일 및 내용, 태그들, 엔터티, 공백문자들을 제거하는 정규식 표현입니다.
관심있는 분들은 한번씩 테스트 해보시기 바랍니다. ^^
아마도 곧 간단한 기능을 하는 것을 오픈해서 보여드릴건데요..
URL을 지정하면 해당 텍스트를 분석해서 자동으로 태깅 정보를 제공하는 겁니다.
마무리 단계이니 완료되는 대로 이 사이트를 통해서 보여드릴께요..
그럼.. 좋은 하루 되세요~~ from 미니(xmlmanager@gmail.com)