Dev/Java

정규표현식을 사용하여 스크립트 제거

박공명 2010. 3. 24. 16:13

import java.util.regex.*;
이놈이 필요하다.

 public String getRemoveScript(String strContent){
  if(strContent == null) strContent = "";
  Pattern patternTag=Pattern.compile("\\<(\\/?)(\\w+)*([^<>]*)>");
  Pattern patternScript=Pattern.compile("(?i)\\<script(.*?)</script>");
  Pattern patternMouseOver=Pattern.compile("(?i) onmouseover=[\"']?([^>\"']+)[\"']*");
  Pattern patternMouseOut=Pattern.compile("(?i) onmouseout=[\"']?([^>\"']+)[\"']*");
  Pattern patternMouseClick=Pattern.compile("(?i) onclick=[\"']?([^>\"']+)[\"']*");
  Matcher matcherContent=patternScript.matcher(strContent);
  strContent=matcherContent.replaceAll("");
  Matcher matcherMouseOver=patternMouseOver.matcher(strContent);
  strContent=matcherMouseOver.replaceAll("");
  Matcher matcherMouseOut=patternMouseOut.matcher(strContent);
  strContent=matcherMouseOut.replaceAll("");
  Matcher matcherMouseClick=patternMouseClick.matcher(strContent);
  strContent=matcherMouseClick.replaceAll("");
  return strContent;
 }

원하는 표현식을 제거할수있다.

프레임웍같은걸 안쓰니깐 여러가지 신경써야할것이 많다.

자바스크립트 전문가와 함께있으니 배우는게 많구나 ㅋㅋㅋ