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,679 / 6 Page
    [ ● nslookup을 사용하면 도메인네임, IP주소, 기타 DNS레코드를 알 수 있다. ]

    ●nslookup을 사용하면 도메인네임, IP주소, 기타 DNS레코드를 알 수 있다.윈도우 CMD 명령을 이용하여 원하시는 도메인의 DNS 레코…

    [ [CSS/Script] 해상도 상관없이 중앙정렬 레이어메뉴 ]

    \r\n\r\n\r\n\r\n[CSS/Script] 해상도 상관없이 중앙정렬 레이어메뉴 \r\n\r\n\r\n\r\n\r\n\r\n\r\n글쓴이…

    [ ♥ ds-107 시놀로지 nas 장비에서 파일 관리자에서 파일 링크 찾아 카피 붙이기 ]

    ♥ ds-107 시놀로지 nas 장비에서 파일 관리자에서 파일 링크 찾아 카피 붙이기 \r\n◎ 네이버에서 [https://11q.kr 홈피] …

    [ ezlink 관련정보_synology ds-107 설치 방법 ] 댓글 1

    ♥http://isulnara.com/tt/236 에서 참조 설치 하여정상적인 링크생성및 link가 되지 않는 이유는 몇가지설정에 변경이필요합니…

    [ 심볼릭 하여 data 폴더 공유/ 한쪽 지우면 다른쪽 지워짐 ] 댓글 1

    심볼릭 하여 data 폴더 공유/ 한쪽 지우면 다른쪽 지워짐\r\n\r\n[ 이제 putty.exe 로\r\n터미널 연결 id:root,pass…

    [ 마운트(mount)란 무엇을 의미하며 왜 사용하는가? 그, 실질적인 의미[link자료] ]

    1 : 마운트(mount)란 무엇을 의미하며 왜 사용하는가? 그, 실질적인 의미\r\n\r\n리눅스에서 마운트(mount)의 의미를 정확하게 이…

    [ 림스모바일 상단 메뉴 만들기 rimsoft mobile menu 추가 head.php ]

    <?\r\n// 이 파일은 새로운 파일 생성시 반드시 포함되어야 함\r\nif (!defined("_GNUBOARD_")) exit; //…

    [ 최고관리자 자동로그인 되개 하기 모바일/ 아미나 모바일 최고 관리자 자동로그인 ]

    최고관리자 자동로그인 되개 하기 모바일/ 아미나 모바일 최고 관리자 자동로그인\r\n수정 내용 ss 자동로그인 관리자 가능 수정1/3~3/3 참…

    [ DTD버전에 제나플러스 빌더(복사) 설치 ] 댓글 1

    DTD버전에 제나플러스 빌더(복사) 설치1.베너 추가 되지 않음\r\n변경전 39~40번재bn_bimg_name = '$bn_bimg_name'…

    [ 아미나 스킨최신글 리스트 list 설명 ]

    최근글 추출방법 설정하기 - type, bo_list, ca_name, order, termAD한별아빠신고글주소01조회431최근글2013.04.…

    [ 아미나v3 테마 업데이트 정보 pc모드 홈피 auto menu.php 최신글index.php 하단 foo… ]

    아미나 테마 업데이트 정보 pc모드 홈피 auto menu.php 최신글index.php 하단 footer.php.내용 입니다관련 첨부 자료를 …

    [ 난 최신글만 우려 먹는다.(제나플러스 실패) ]

    난 최신글만 우려 먹는다.\r\n\r\n\r\n東問西答\r\n작성일시2012.09.06 10:51:56\r\n조회1,223\r\n댓글16첨부파일…

    [ [아미나 PC홈 수정] 중앙 움직이는 게시판 사진 겔러리 최신글 ] 댓글 1

    \r\n\r\n<!-- 사이트 로고w:\ami\thema\basic\head.php에서 아래를 삭제후 중앙 baner를 제거 합니다\r\n…

    [ Synology diskstation DS-712+ Mail 서버 만들기/Mail station 패캐지 설치… ] 댓글 3

    \r\n시놀로지 ds712 synology e-mail/email 설정/서버설정 (2012월3월9일up) 그누보드 이메일 설정하기 ,이메일의 모…

    [ 겔러리 썸네일 문제...^_^.. ] 댓글 1

    댓글이 달린지도 몰랐네요. 자기 댓글에 글달렸을때도 확인 가능하면 좋을거같아요! 3.2.4버전이랑 비교하니깐 common.lib.php에 //$…

    [ [해결]G4에서 모바일 접속시 폰트가 작아서 볼수가 없습니다 ]

    [해결]G4에서 모바일 접속시 폰트가 작아서 볼수가 없습니다 어디를 수정 해야 하는지요LV 5심봉사조회6기타2013.10.09 12:20안녕하세…

    [ Synology DiskStation 사용자 가이드 ]

    11q.kr 는 네이버/구글에서 검색 찾아오세요.Synology DiskStation 사용자 가이드\r\n\r\n\n[이 게시물은 관리자님에 의…


    ♥간단_메모글♥


    최근글


    새댓글



    PHP 안에 HTML ☞ 홈페이지 화면갱신 시간은 ♨
    ▶ 2024-06-29 23:37:38

    오늘의 홈 현황


    • 현재 접속자♨ 562 명
    • 오늘 가입자※ 3 명
    • 어제 가입자※ 4 명
    • 주간 가입자※ 8 명
    • 오늘 방문자 2,086 명
    • 어제 방문자 2,007 명
    • 최대 방문자 13,042 명
    • 전체 방문자 4,403,248 명
    • 전체 게시물※ 8,665 개
    • 전체 댓글수※ 24,796 개
    • 전체 회원수 11,077 명

    QR코드


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

    알림 0








    최신글↑