11.Nas_1


새창 작성 수정 목록 링크 Edit G카랜다 HDD HDD HDD 게시물 주소 복사


[ClassicASP] 모든 태그 제거 & 허용태그 외의 모든 html 태그 제거 (2012-04-18 수정)

♨ 카랜더 일정 :
  • 링크

  • 첨부

  • 컨텐츠 정보

    본문

    \r\n
    \r\n
    [ClassicASP] 모든 태그 제거 & 허용태그 외의 모든 html 태그 제거 (2012-04-18 수정)글자 확대 글자 축소
    \r\n
      2012-04-17 22:22 Hit.560 트랙백주소 게시글을 twitter로 보내기 게시글을 facebook으로 보내기 게시글을 Me2Day로 보내기 이 게시글을 요즘으로 보내기 게시글을 구글로 북마크 하기 게시글을 네이버로 북마크 하기
    \r\n
    \r\n
    \r\n
    \r\n
    <% Option Explicit %>
    \r\n

    <%
    \r\n
    \r\n
    ' =========================================================
    \r\n
    ' 패턴으로 치환할수 있는 eregi_replace()함수
    \r\n
    ' PHP에는 있으나 ASP에는 없기 때문
    \r\n
    ' =========================================================
    \r\n
    Function eregi_replace(pattern, replace, text)
    \r\n
     Dim eregObj
    \r\n
     
    \r\n
     Set eregObj = New RegExp
    \r\n
     
    \r\n
     eregObj.Pattern = pattern '패턴 설정
    \r\n
     eregObj.IgnoreCase = True '대소문자 구분 여부
    \r\n
     eregObj.Global = True '전체 문서에서 검색
    \r\n
     
    \r\n
     eregi_replace = eregObj.Replace(text, replace) 'Replace String
    \r\n
    End Function
    \r\n
     
    \r\n
     
    \r\n
    ' =========================================================
    \r\n
    ' 모든 태그제거
    \r\n
    ' 사용법 : strip_tags1(content)
    \r\n
    ' content = "....."
    \r\n
    ' strip_tags2(content)
    \r\n
    ' =========================================================
    \r\n
    Function strip_tags1(str)
    \r\n
      Dim content
    \r\n

      content = str  
    \r\n
      content = eregi_replace("<(/)?([a-zA-Z]*)(\\s[a-zA-Z]*=[^>]*)?(\\s)*(/)?>","",content)  ' all
    \r\n
      content = eregi_replace("<(no)?script[^>]*>.*?</(no)?script>","",content)  ' scripts
    \r\n
      content = eregi_replace("<style[^>]*>.*</style>", "", content)  ' style
    \r\n
      content = eregi_replace("<(\""[^\""]*\""|\'[^\']*\'|[^\'\"">])*>","",content)  ' TAGS
    \r\n
      content = eregi_replace("<\\w+\\s+[^<]*\\s*>","",content)  ' nTAGS
    \r\n
      content = eregi_replace("&[^;]+;","",content)  ' entity_refs
    \r\n
      content = eregi_replace("\\s\\s+","",content)  ' whitespace
    \r\n

      strip_tags1 = content
    \r\n
    End Function
    \r\n
     
    \r\n
     
    \r\n
    ' =========================================================
    \r\n
    ' 허용태그 외의 모든 태그제거
    \r\n
    ' 사용법 : strip_tags2(content, allowtags)
    \r\n
    ' content = "....."
    \r\n
    ' allowtags = "br,a,img,table,b,font,div,center,embed"  ' 허용 ※ 태그 붙여서 연속으로, 공백 오류발생
    \r\n
    ' strip_tags2(content, allowtags)
    \r\n
    ' =========================================================
    \r\n
    Function strip_tags2(str,allowtags)
    \r\n
      Dim content, tags
    \r\n
     
    \r\n
      content = str
    \r\n
      tags = replace(allowtags,",","|")
    \r\n
      content = eregi_replace("<(/?)(?!/|" & tags & ")([^<>]*)?>","<$1$2&gt",content)
    \r\n
      content = eregi_replace("(javascript|vbscript)+","$1//",content)
    \r\n
      content = eregi_replace("(.location|location.|onload=|.cookie|alert|window.open|onmouse|onkey|onclick|view-source)+","//",content) '//자바스크립트 실행방지
    \r\n
     
    \r\n
      strip_tags2 = content
    \r\n
    End Function
    \r\n
     
    \r\n
     
    \r\n
    '사용예
    \r\n
    Dim allowtags, content
    \r\n
    allowtags = "br,a,img,b,font,div,center,embed"  ' 허용 ※ 태그 붙여서 연속으로, 공백 오류발생
    \r\n
     
    \r\n
    content = "<font color=red>허용하지 않은 태그</font>가<br />잘 <b>보이나요?</b><br /><script></script>"
    \r\n
    content = content & "<table><div align=center>아주 유용할꺼에요~</div><body><html><xmp><pre>"
    \r\n
     
    \r\n
    response.write "strip_tags1 결과<br />"& strip_tags1(content) &"<br /><br />"
    \r\n
    response.write "strip_tags2 결과<br />"& strip_tags2(content, allowtags)
    \r\n
    %>
    \r\n

    결과


    <소스보기>
    \r\n
    strip_tags1 결과
    \r\n
    허용하지 않은 태그가잘 보이나요?아주 유용할꺼에요~
    \r\n
     
    \r\n
    strip_tags2 결과
    \r\n
    <font color=red>허용하지 않은 태그</font>가<br />잘 <b>보이나요?</b><br /><script&gt</script&gt<table&gt<div align=center>아주 유용할꺼에요~</div><body><html&gt<xmp&gt<pre&gt


    참고자료
    http://flashcafe.org/3717 
    http://dualist.tistory.com/115
    \r\n

    \n
    [이 게시물은 관리자님에 의해 2013-11-18 21:29:50 11.H_BBS에서 이동 됨]
    [ 추가 정보 ... 더보기) ]
    뷰PDF 1,2



    office view

    관련자료

    댓글목록

    등록된 댓글이 없습니다.

    목록

    새창 작성 수정 목록 링크 Edit G카랜다 HDD HDD HDD 게시물 주소 복사


    • 일간 조회수
        • 게시물이 없습니다.
    • 주간 조회수
        • 게시물이 없습니다.
    • 월간 조회수
        • 게시물이 없습니다.


    Total 1,689 / 81 Page
    [ tvheadend 자체 녹화 클릭 않될때 사용자 편집 비디오녹화 설정을 모두 선택 ]

    ■tvheadend 자체 녹화 클릭 않될때 사용자 편집 비디오 녹화기 설정을 모두 선택 ▶ ☞ ♠ 정보찾아 공유 드리며 출처는 링크 참조 바랍니…

    [ xpenology booting time 조정 ]

    osmount■ ▶ ☞ ♠ 정보찾아 공유 드리며 출처는 링크 참조 바랍니다. https://11q.kr ♠

    [ 추천)시놀로지 docker에서 파일공유 편한 droppy 설치 하기 ] 댓글 7

    시놀로지 docker에서 파일 공유 편한 droppy 설치 하기 -10초면 설치 완료demo linkhttps://droppy.silverwin…

    [ 윈도우에 Windroy 다운로드 설치하여 안드로이드 어플 실행하기 ]

    윈도우에 Windroy 다운로드 설치하여 안드로이드 어플 실행하기https://windroy.en.softonic.com/download에서 다…

    [ winscp hidden files / 히든파일 보이게 하기 ( ctrl + alt + h ) ]

    winscp 패널 페이지 (기본 설정 대화 상자)환경 설정 대화 상자의패널 페이지에서파일 패널의 표시 및 동작 옵션을 구성 할 수 있습니다.로컬…

    [ phpMyadmin으로 Mysql data 백업 복원하기 및 전체 게시글 text 글자 수정 제거 하기 ]

    phpMyadmin으로 Mysql data 백업 복원하기 및 전체 게시글 text 글자 수정 제거 하기시스템 : 시놀로지 / 헤놀로지홈빌드 : …

    [ 헤놀로지 vmware workstation 백업서버를 이용한 복원기 ] 댓글 1

    헤놀로지 vmware workstation 백업서버를 이용한 복원기볼륨 충돌하여 저의 서버 복구 하였습니다 문제 추정 : wise care 36…

    [ 자체성공) tvheadend 녹화 파일 자동 인코딩 mkv 파일저장 하는방법(autoencoding.sh 사… ] 댓글 4

    tvheadend 자체적으로 mkv 파일 저장 가능 합니다.사용버전시놀로지 도커 버전 mkv 파일 저장 성공설정 조건tvheadend의 녹화 프…

    [ 성공)시놀로지 docker에서 seafile 설치작업 /docker 이미지 : m3adow/seafile ] 댓글 3

    시놀로지 docker에서 seafile 설치작업 성공docker 이미지 :m3adow/seafile웹에 파일 공유에 편리한 웹하드 입니다사용설치…

    [ skb smart2 기가wifi 공유기 설정 진입 안되는것 ]

    쓸모 없는 공유기 버리고 iptime공유기 대치 사용 하지만 그래도 한번 사용 해보자skb smart2 기가wifi 공유기 설정 진입 안되는것인…

    [ docker)Synology 에 Ubuntu를 설치하여 ssh 설치 외부 터미널 putty 로 접속하는 … ]

    docker)Synology 에 Ubuntu를 설치하여 ssh 설치 외부 터미널 putty 로 접속하는 방법먼저 하기 링크에 준하는 방법을 실패…

    [ 공구한 U5Mini용 BT리모콘 OTA Demo어플 사용으로 먹통됨// u5pvr 작은것 전용리모콘 bt O… ] 댓글 4

    공구한 U5Mini용 BT리모콘 OTA Demo어플 사용으로 먹통됨// u5pvr 작은것 전용리모콘 bt OTA프로그램 설치 사례정리망했습니다.…

    [ RSS 정보를 iframe 만들어 게시판 불러오기( board.php 를 rss.php 변경) ] 댓글 1

    최신버전을 확인하고자 다운로드 사이트 RSS 정보를 iframe 만들어 소스에 삽입하고자 합니다Free Online RSS to HTML Con…


    ♥간단_메모글♥


    최근글


    새댓글



    PHP 안에 HTML ☞ 홈페이지 화면갱신 시간은 ♨
    ▶ 2025-07-15 05:41:14

    오늘의 홈 현황


    • 현재 접속자♨ 617 명
    • 오늘 가입자※ 0 명
    • 어제 가입자※ 2 명
    • 주간 가입자※ 8 명
    • 오늘 방문자 16,090 명
    • 어제 방문자 61,237 명
    • 최대 방문자 122,350 명
    • 전체 방문자 6,907,465 명
    • 전체 게시물※ 9,035 개
    • 전체 댓글수※ 25,727 개
    • 전체 회원수 11,739 명

    QR코드


    ☞ QR코드 스캔은 kakao앱 자체 QR코드

    알림 0








    최신글↑