Maison >interface Web >Questions et réponses frontales >Comment supprimer le HTML dans ASP
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.
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 FunctionSi 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 FunctionBien 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 outilsIl 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 : VBScriptLes fonctions suivantes peuvent être restreintes à des balises html spécifiquesIntroduction :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 "