JSP | HTML 태그 제거 함수.. (펌)

페이지 정보

작성자 : 에렐리앙 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 날짜 : 작성일13-10-18 16:35 조회 : 221회

본문

<%@ page extends="com.webcash.ib2.jsp.Base"%>
<%@ page import="java.net.*, java.io.*, java.util.*"%>
<%@ page contentType="text/html; charset=euc-kr" %>
<%@ include file="/include/common/jspHead.jsp" %>
<%!
 
 //html 태그 제거 함수
 public static String removeTag(String tags) throws Exception {
   //FileInputStream fis = new FileInputStream(path);
 //BufferedReader br = new BufferedReader(new InputStreamReader(fis));
 /* 개행 코드 제거 */
 String line = null;
 String buf = tags;
 //while((line = br.readLine()) != null){
  //  buf += line;
 //   buf += "\r\n";
 //}
 //fis.close();
 
 
 int begin = 0;
 int end = 0;
 int old_begin = 0;
 int old_end = 0;
 
 buf = buf.toLowerCase();
 
 
 
 String result = "";
 /* javascript tag 제거 */
 while(true){
  if( (begin = buf.indexOf("<script", begin)) == -1)
   break;
  if( (end = buf.indexOf("</script>", end)) == -1)
   break;
  if( end > begin ){               
   //System.out.println("> " + begin + " " + end + 9 + buf.substring(begin, end + 9));
   result += buf.substring(old_begin, begin);
   old_begin = end + 9;
  }
  ++end;
  ++begin;
 }
 if( end > begin ){
  result += buf.substring(end + 9);
 }
 /* html 태그 제거 */
 buf = result.replaceAll("&[a-z]+;", " ");
 result = buf.replaceAll("(<([a-z!/]+)[^>]*>)|([\\t\\x0B\\f]+)|(([\\r\\n][\\r\\n])+)|(-->)", "");       
 
 buf = "";
 int len = result.length();
 int i = 0;
 // 공백 문자 제거
 while(len > i){
  while((len > i) && (result.charAt(i) == ' ')) ++i;
  while((len > i) && (result.charAt(i) != ' '))
   buf += result.charAt(i++);
  if( len > i )
   buf += " ";
 }
 
 return buf;
}
 
%>

<%
 // tag제거 함수를 사용한 사용예...
 StringBuffer aBuf = new StringBuffer("");
 aBuf.append("  <TABLE>                                                                                                    ");
 aBuf.append("  <tr style='height: 331.75pt'>                                                                         ");
 aBuf.append("            <td valign='top' width='580' colspan='4'>                                                        ");
 aBuf.append("            <div style='text-align: left; line-height: 12pt; layout-grid-mode: char'><font size='2'><br />   ");
 aBuf.append("            현재 개발된 도입/이용사례 중 포탈등록시 프로그램언어(HTML)이 그대로 표시 됩니다. <br />          ");
 aBuf.append("            아무런 수정없이 지금등록된 내용으로 표기가 될수 있게 수정부탁드립니다. <br />                    ");
 aBuf.append("            (이희철 부장, 임성표 과장&nbsp;오류 내용 상호 확인)</font></div>                                 ");
 aBuf.append("            </td>                                                                                            ");
 aBuf.append("        </tr>                                                                                                ");
 aBuf.append("  </TABLE>                                                                                                   ");
 
 
%>
<TEXTAREA NAME="" ROWS="40" COLS="130"><%=removeTag(aBuf.toString())%></TEXTAREA>
Total 6건 1 페이지
게시물 검색
Today 99 Yesterday 385
Total 94,865