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,684 / 60 Page
    [ Docker 기본 디렉토리를 변경하는 방법 ]

    Docker 디렉토리를 변경하는 방법정보출처https://bobcares.com/blog/how-to-change-docker-directory…

    [ U5pvr 메모리상태점검 ]

    U5pvr 메모리상태점검df -hroot@AOL-Debian:~# df -hFilesystem Size Used Avail Use% Mount…

    [ 데비안 10 rc.local 추가 파일 생성 실행파일 만들기 ] 댓글 1

    데비안 10 rc.local 추가 파일 생성 실행파일 만들기최신 데비안 버전에서는 /etc/rc.local 파일이 더 이상 사용되지 않지만 여전…

    [ Debian 10 Linux에 Apache Web Server를 재설치하는 방법 ]

    Debian 10 Linux에 Apache Web Server를 재설치하는 방법■ 문제 발생 재 설치 합니다https://linuxize.com…

    [ 데비안 10의 모든 서비스를 나열하는 방법 ]

    데비안 10의 모든 서비스를 나열하는 방법데비안 10에서 실행되는 전체 서비스를 보려면 다음 명령을 실행할 수 있습니다.ls /etc/init.…

    [ MiBox3 EddyLab에디션 셋탑 공구 설치 와 adb_scrcpy 화면 미러링 컨트롤 기본 설치 화면캡… ] 댓글 2

    MiBox3 EddyLab에디션 셋탑 공구 설치 와adb_scrcpy 화면 미러링 컨트롤 기본 설치 화면캡춰 기본 설치기기본 설치 후adb_sc…

    [ Android용 스위치 제어 on 정보 어플 클릭하면 실행되지 않고 메뉴가 나오면 스위치 제어 off 하… ]

    Android용 스위치 제어 정보이 정보는 Android 5.0 이상을 실행하는 기기에만 적용됩니다.스위치 제어를 사용하면 터치스크린 대신 한 …

    [ PlayerDebug를 원격으로 매핑 ]

    PlayerDebug를 원격으로 매핑https://discourse.osmc.tv/t/map-playerdebug-to-remote/38586홈…

    [ linux에서 find 로 특정 파일에서 문자열 검색 방법 ]

    linux에서 find 로 특정 파일에서 문자열 검색 방법리눅스을 배우고 명령어를 배우는 방법에 참조 파일을 작성 보관 찾아 보기를 합니다파일을…

    [ 초보를 위한 도커 안내서 - 설치하고 컨테이너 실행하기 ]

    초보를 위한 도커 안내서 - 설치하고 컨테이너 실행하기https://subicura.com/2017/01/19/docker-guide-for-b…

    [ 재설치) android tv ver 9 termux 설치후 ubuntu 와 s**a2설치 작업 ] 댓글 1

    재설치) android tv ver 9 termux 설치후 ubuntu 와 s...a2설치 작업# ssh putty 접속 설치# 중간에 ssh …

    [ 음악 파일 일괄 변경및 태그일괄수정 알송 이용하기 ]

    음악 파일 일괄 변경및 태그일괄수정 알송 이용하기일부 노래가 번호로 되어 있어 일괄수정합니다알송으로 진행다시 파일 이름 정리 후 일괄 태그정리 …

    [ 허용되는 앱 it지원팀에 문의 하세요 ]

    ■ ▶ ☞ 정보찾아 공유 드리며 출처는 링크 참조 바랍니다 ♠ . ☞ 본자료는 https://11q.kr 에 등록 된 자료 입니다♠.

    [ ** 시놀로지 도커용 Tvheadend 자동설치 작업 => 도커의 좋은점 바로 삭제후 간단히 재설치 가능 ] 댓글 5

    ** 시놀로지 도커용 Tvheadend 자동설치 작업 => 도커의 좋은점 바로 삭제후 간단히 재설치 가능추가없이 tv_grab_klive …

    [ 포토샵으로 사각형 모서리 라운드 둥굴게 사진 만들기 ]

    포토샵으로 사각형 모서리라운드둥굴게 사진 만들기포토샵으로 사각형 모서리 둥글게 만들기! 간단한 방법조건) 필수레이어 복제후 사본만 선택 사본만 …

    [ ● kodi strm maker로 생성한 *strm* 영화제목 변경하기/지우기 [SQL] 데이터 치환(변경)… ]

    ● kodi strm maker로 생성한*strm* 영화제목 변경하기/지우기[SQL] 데이터 치환(변경)하기첨부파일 경로가 변경이 되었거나 그 …

    [ ● Synology DSM 7용 opkg(Entware)를 통해 패키지 설치 ]

    ●Synology DSM 7용 opkg(Entware)를 통해 패키지 설치시놀로지 dsm 패캐지소스 추가부분 설치가 안되는 증상 나타남내 Syn…


    ♥간단_메모글♥


    최근글


    새댓글



    PHP 안에 HTML ☞ 홈페이지 화면갱신 시간은 ♨
    ▶ 2024-07-05 20:42:03

    오늘의 홈 현황


    • 현재 접속자♨ 673 명
    • 오늘 가입자※ 3 명
    • 어제 가입자※ 8 명
    • 주간 가입자※ 17 명
    • 오늘 방문자 1,855 명
    • 어제 방문자 2,205 명
    • 최대 방문자 13,042 명
    • 전체 방문자 4,415,358 명
    • 전체 게시물※ 8,677 개
    • 전체 댓글수※ 24,837 개
    • 전체 회원수 11,092 명

    QR코드


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

    알림 0








    최신글↑