asp에서 html을 제거하는 방법: 1. html 태그를 직접 비활성화합니다. 2. "function RemoveHTML(){...}" 메서드를 사용하여 제거합니다. 3. IE 또는 기타 도구를 사용하여 제거합니다. VBScript를 통한 HTML 코드.
이 문서의 운영 환경: Windows7 시스템, HTML5&&ASP3.0 버전, Dell G3 컴퓨터.
ASP HTML 코드 제거:
방법 1: HTML 비활성화
가장 쉬운 방법은 HTML 태그를 제거하지 않고 직접 비활성화하는 것입니다. 예를 들어:
strText = Replace(strText, "<script", "<script", 1, -1, 1)
또는 모든 HTML을 직접 비활성화할 수 있습니다.
strText = Replace(strText, "<", "<")
안전하긴 하지만 충분히 친숙하지 않습니다. (사용자가 제출한 텍스트는 읽기 어려워집니다.)
방법 2: "<" 및 ">"를 사용하세요
html 태그를 사라지게 만드는 방법 텍스트에서 "<"와 ">" 사이의 모든 것을 제거할 수 있습니다.
JavaScript에서는 쉽습니다.
function RemoveHTML( strText ) { var regEx = /<[^>]*>/g; return strText.replace(regEx, ""); }
이제 스크립팅 엔진 5.0 이상에서는 VBScript로 돌아갑니다. ScriptEngineMajorVersion 및 ScriptEngineMinorVersion 함수를 사용하여 버전 확인) RegExp 개체를 사용할 수도 있습니다.
Function RemoveHTML( strText ) Dim RegEx Set RegEx = New RegExp RegEx.Pattern = "<[^>]*>" RegEx.Global = True RemoveHTML = RegEx.Replace(strText, "") End Function
정규 표현식을 사용하지 않으면 다음 함수를 사용하여 동일한 목적을 달성할 수 있습니다.
Function RemoveHTML( strText ) Dim nPos1 Dim nPos2 nPos1 = InStr(strText, "<") Do While nPos1 > 0 nPos2 = InStr(nPos1 + 1, strText, ">") If nPos2 > 0 Then strText = Left(strText, nPos1 - 1) & Mid(strText, nPos2 + 1) Else Exit Do End If nPos1 = InStr(strText, "<") Loop RemoveHTML = strText End Function
위의 방법으로 html 태그를 제거할 수 있지만 괄호, 이러한 방법에는 다음과 같은 문제가 있습니다.
먼저 텍스트에서 html을 나타내지 않는 꺾쇠 괄호는 모두 제거되며 두 꺾쇠 괄호 사이의 텍스트도 모두 삭제됩니다. "<"가 텍스트에 삽입됩니다. 또는 ">"는 예측할 수 없는 결과를 생성합니다.
또한 이 방법은 삭제되는 HTML 태그를 제어할 수 없습니다. 예를 들어
방법 3: IE 또는 기타 도구를 사용하면 많은 단점이 있습니다
:
"It may be desirable to parse HTML files inside a Web server process in response to a browser page request. However, the WebBrowser control, DHTML Editing Control, MSHTML, and other Internet Explorer components may not function properly in an Active Server Pages (ASP) page or other application run in a Web server application." (http://support.microsoft.com/support/kb/articles/Q244/0/85.ASP?LN=EN-US&SD=gn&FR=0)
방법 4: VBScript
다음 기능은 특정 HTML 태그로 제한될 수 있습니다
소개:
제어하려면 삭제된 태그 목록을 TAGLIST 상수에 전달하여 태그 추가/제거를 수행할 수 있습니다. 예를 들어 모든 태그를 유지하려면 현재 목록에 MSDN의 모든 html 태그와 LAYER 태그가 포함되어 있습니다. . 각 태그는 ";"으로 묶어야 합니다.
"
와 같은 시작 태그와 종료 태그가 삭제됩니다. 태그가 TAGLIST 및 BLOCKTAGLIST 상수에 모두 포함된 경우 시작 태그와 닫는 태그가 삭제됩니다.
닫는 태그가 없는 태그는 html 태그로 간주되지 않으며 해당 내용은 삭제되지 않습니다.
블록 태그인 경우 종료 태그가 없으면 이 태그부터 텍스트 끝까지의 모든 내용이 삭제됩니다
"