Maison >interface Web >Questions et réponses frontales >Comment supprimer le HTML dans ASP

Comment supprimer le HTML dans ASP

藏色散人
藏色散人original
2021-05-12 11:37:582917parcourir

Comment supprimer le HTML d'asp : 1. Désactivez la balise html directement ; 2. Utilisez la méthode "function RemoveHTML(){...}" pour supprimer ; 4. Supprimez via le code HTML VBScript.

Comment supprimer le HTML dans ASP

L'environnement d'exploitation de cet article : système Windows 7, HTML5&&ASP version 3.0, ordinateur Dell G3.

ASP supprime le code HTML :

Méthode 1 : Désactiver HTML

Le moyen le plus simple est de désactiver directement les balises HTML sans les supprimer. Vous pouvez utiliser la fonction Remplacer(). Par exemple :

strText = Replace(strText, "<script", "<script", 1, -1, 1)

Ou désactiver directement tout le HTML :

strText = Replace(strText, "<", "<")

Bien que cela soit sûr, ce n'est pas assez convivial (le texte soumis par l'utilisateur deviendra difficile à lire)

Méthode 2 : Utiliser "0e23ddf2cd2db17fefda28fe66f19a88"

Comment faire disparaître la balise html du texte ?

En JavaScript, c'est simple :

function RemoveHTML( strText )
{
var regEx = /<[^>]*>/g;
return strText.replace(regEx, "");
}

Revenons maintenant à VBScript, pour le moteur de script 5.0 ou supérieur (la version peut être vérifiée en appelant les fonctions ScriptEngineMajorVersion et ScriptEngineMinorVersion), nous pouvons également utiliser l'objet RegExp :

Function RemoveHTML( strText )
Dim RegEx
Set RegEx = New RegExp
RegEx.Pattern = "<[^>]*>"
RegEx.Global = True
RemoveHTML = RegEx.Replace(strText, "")
End Function

Si les expressions régulières ne sont pas utilisées, la fonction suivante peut atteindre le même objectif :

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

Bien que les méthodes ci-dessus puissent supprimer les balises html entre parenthèses, ces méthodes présentent les problèmes suivants :

Tout d'abord, tous les crochets angulaires dans le texte qui ne représentent pas le HTML seront supprimés. Et le texte entre les deux crochets angulaires sera également supprimé. résultats imprévisibles.

De plus, cette méthode ne peut pas contrôler quelles balises html sont supprimées. Par exemple, les balises inoffensives telles que a4b561c25d9afb9ac8dc4d70affff4195a8028ccc7a7e27417bff9f05adf5932 sont généralement autorisées.

Méthode 3 : Utilisez IE ou d'autres outils

Il existe de nombreux inconvénients :

"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)

Méthode 4 : VBScript

Les fonctions suivantes peuvent être restreintes à des balises html spécifiques

Introduction :

Pour contrôler la liste des balises supprimées, vous pouvez ajouter/supprimer des balises à la constante TAGLIST. Par exemple, si vous souhaitez conserver toutes les balises 9368c5823948a595f9974a5e2b3bd3f1, supprimez-les de TAGLIST B. contient toutes les balises html et balises LAYER dans MSDN. Chaque balise doit être entourée de ";". La balise de début et de fin

sera supprimée, comme "ad8f10e201a1f424c4faf26f5e875561". ;/A...>

Si la balise est à la fois dans les constantes TAGLIST et BLOCKTAGLIST, tout le contenu entre la balise de début et la balise de fin sera supprimé

Les balises sans balises de fermeture sont ne sont pas considérées comme des balises html, et leur contenu ne sera pas supprimé

Si une balise de bloc n'a pas de balise de fin, tout le contenu depuis le début de cette balise jusqu'à la fin du texte sera supprimé

Si le caractère qui suit "