asp
정규식을 이용한 태그 제거 함수
duraboys
2010. 9. 27. 16:42
# 출처를 확인 할수가 없네요
필요에 의해서 찾아보다 나온 내용입니다.
<% '//패턴으로 치환할수 있는 eregi_replace()함수를 구현 '//PHP에는 있으나 ASP에는 없기 때문 Function eregi_replace(pattern, replace, text) Dim eregObj: Set eregObj = New RegExp: eregObj.Pattern = pattern: '//패턴 설정 eregObj.IgnoreCase = True: '//대소문자 구분 여부 eregObj.Global = True: '//전체 문서에서 검색 eregi_replace = eregObj.Replace(text, replace): '//Replace String End Function '//허용태그 외의 모든 태그제거 함수 Function strip_tags(str) Dim content, pattern: content = str: 'pattern = "<(/)?([a-zA-Z]*)(\\s[a-zA-Z]*=[^>]*)?(\\s)*(/)?>"'All->이건 제대로 동작하지 않는다. 참고용으로 남겨둠 'content = eregi_replace(pattern, "", content): pattern = "<(no)?script[^>]*>.*?</(no)?script>":'SCRIPTS content = eregi_replace(pattern, "", content): pattern = "<style[^>]*>.*</style>":'STYLE content = eregi_replace(pattern, "", content): pattern = "<(\""[^\""]*\""|\'[^\']*\'|[^\'\"">])*>":'TAGS content = eregi_replace(pattern, "", content): pattern = "<\\w+\\s+[^<]*\\s*>":'nTAGS content = eregi_replace(pattern, "", content): pattern = "&[^;]+;":'ENTITY_REFS content = eregi_replace(pattern, "", content): pattern = "\\s\\s+":'WHITESPACE content = eregi_replace(pattern, "", content): strip_tags = content: End Function '//사용예 Dim comment: comment = "<font color=red>허용하지 않은 태그</font>가<br>잘 <b>보이나요?</b><br><script></script>": comment = comment & "<div align=center>아주 유용할꺼에요~</div><body><html><xmp><pre>": response.write strip_tags(comment): %>