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,681 / 16 Page
    [ DSM 초기 설치후 스팸 릴레이 방지 하기 ] 댓글 1

    DSM 초기 설치후 스팸 릴레이 방지 하기\r\n1) 기본적으로 GMAIL 설정전에 서버로 그누보드 발신설정\r\n2) 메일 스테이션에 GMAI…

    [ 헤놀로지 배경에서 하드디스확인중,패리티_일괄성검사빠르게하기 속도 높이기 ]

    헤놀로지 배경에서 하드디스확인중,패리티_일괄성검사빠르게하기 속도 높이기갑자기 vmware를 강제 종료시 발생되는 경우 입니다.작업스케줄러에 사용…

    [ 시놀로지 DSM 6.1에서 photo station에 클라으드 CLOUD 이용 스마트폰 사진 ds photo… ]

    시놀로지 DSM 6.1에서 photo station에 클라으드 Cloud 이용 스마트폰 사진 ds photo와 백업 연동 설치 사용기스마트폰 사…

    [ 사진data를 volume2에 /v2/photo_data 로 사진을 저장하여 /volume1/web/piwi… ]

    dsm 6.1 헤놀로지 vmware의 volume1에 유틸 설치 하고사진data를 volume2에 /v2/photo_data 로 사진을 저장하여…

    [ Piwigo 에서 워터마크 만들기 [사용 유틸 : faststone] ]

    Piwigo 에서 워터마크 만들기 [사용\r\n유틸 : faststone]\r\n\r\n방법 : 검정 바탕에 힌글씨를 캡취하여 바로 편집기에서 …

    [ sk_iptv_방송 20170615 up) 채널서치 / 채널명 수정 엑셀 문서. ] 댓글 6

    저의 iptime 공유기에 sk-b-iptv 시청자을 위한 채널리스트 추가 내용입니다.(제가 사용하기 위하여 최신 업 합니다 )다음팟플레이어는 …

    [ 버전업)iptv epg 방송정보 EPG2XML_v122_update하기 진행 내용 설정값입니다. ] 댓글 5

    ( iptv epg 방송정보 EPG2XML_v122_update하기)(20170910_11q.kr) 수정 내용 및 모든 자료 정보 저장 합니다.…

    [ tvheadend설정) u5pvr 채널/EPG > EPG그래버모듈 내부:XMLTV 나타내게 하기 ] 댓글 3

    tvheadend설정) u5pvr 채널/EPG > EPG그래버모듈 내부:XMLTV 나타내게 하기u5pvr의 기본 설치 없이 tvheaden…

    [ 추천_성공)EPG 기능이 포함된 docker-tvheadend 설치 사용기 ] 댓글 33

    Synology에서 docker-tvheadend 실행 방법(wiserain/docker-tvheadend)이 문서는 Synology DSM에서…

    [ 모바일테스트배추2018-0123 ] 댓글 3

    --------------------------------------문자확대모바일썸머노트 드롭다운메뉴 보트브라우즈 안나옴크롬나옴모바일에서 댓글저…

    [ CSS3 미디어쿼리와 스크린 경계 > 퍼블리싱강좌 ]

    우선 해야할 일반응형 웹을 하기 위해서 기본적으로 설정/선언하거나 포함해야 할 항목들이 있습니다.viewport meta tag 설정요약아래코드…

    [ 공유기 접속먹통)iptime 공유기 포트미러링 문제 해결 ] 댓글 1

    ■포트미러링 :인터넷으로 통신하는 모든 패킷을 4번포트로 전송합니다.포트 미러링 하면 외부 포트 연결 동작시 통신이 차단 되면서 공유기 먹통됨거…

    [ 참조)jun's loader 1.02a 기반으로 atom 230 부트로더 만들기. ]

    참조)jun's loader 1.02a 기반으로 atom 230 부트로더 만들기. 링크 사이트 정보 입니다 jun's loader 1.02a 기…

    [ 시스템 업그레이드 apt upgrade ]

    Ubuntu-Debian 패키지 매니저 apt사용해보기기본적으로apt패키지가 설치되어있었지만… 사용하지 않았었다. 여기저기서apt-get같은 명…

    [ 저작권 정보및 일부 자료에 대하여 링크 글에 원문 참조 복사 내용에 대하여 말들이 많네요 ]

    일부 자료에 대하여 링크 글에 원문 참조 복사 내용에 대하여 말들이 많네요죄송합니다저는 자료에 대하여 참조 저장에 목적으로 향후 사용하고자 개인…


    ♥간단_메모글♥


    최근글


    새댓글



    PHP 안에 HTML ☞ 홈페이지 화면갱신 시간은 ♨
    ▶ 2024-06-30 14:32:07

    오늘의 홈 현황


    • 현재 접속자♨ 561 명
    • 오늘 가입자※ 1 명
    • 어제 가입자※ 5 명
    • 주간 가입자※ 11 명
    • 오늘 방문자 1,308 명
    • 어제 방문자 2,101 명
    • 최대 방문자 13,042 명
    • 전체 방문자 4,404,571 명
    • 전체 게시물※ 8,667 개
    • 전체 댓글수※ 24,800 개
    • 전체 회원수 11,078 명

    QR코드


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

    알림 0








    최신글↑