ASPでHTMLを削除する方法

藏色散人
リリース: 2023-01-06 11:12:29
オリジナル
2919 人が閲覧しました

asphtml を削除する方法: 1. html タグを直接無効にする; 2. "function RemoveHTML(){...}" メソッドを使用して削除する; 3. IE またはその他のツールを使用して削除する; 4. VBScript HTML コードを通じて削除します。

ASPでHTMLを削除する方法

#この記事の動作環境: Windows7 システム、HTML5&&ASP3.0 バージョン、Dell G3 コンピューター。

ASP は HTML コードを削除します:

方法 1: HTML を無効にする

最も簡単な方法は、HTML タグを削除せずに直接無効にすることです。Replace() 関数を使用できます。例:

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, "");
}
ログイン後にコピー

VBScript に戻ります。スクリプト エンジン 5.0 以降 (バージョンは 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 を表さないテキスト内の山括弧がすべて削除されます。また、2 つの山括弧の間にあるテキストも削除されます。つまり、「<」または「>」はすべて削除されます。予測できない結果が生成されます。

さらに、この方法では、どの 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 定数にタグを追加または削除できます。たとえば、すべての タグを保持したい場合は、TAGLIST B から削除します。現在のリストには次のものが含まれます。 MSDN のすべての HTML タグと LAYER タグ。各タグは「;」で囲む必要があります。

」や < などの開始タグと終了タグは削除されます。 /A...>

タグが TAGLIST 定数と BLOCKTAGLIST 定数の両方に含まれている場合、開始タグと終了タグの間のすべてのコンテンツが削除されます

終了タグのないタグは削除されません

#ブロック タグに終了タグがない場合、このタグの先頭からテキストの末尾までのすべてのコンテンツが削除されます