文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

asp如何去掉html

2023-06-15 01:32

关注

小编给大家分享一下asp如何去掉html,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

asp去掉html的方法:1、直接禁用html标签;2、使用“function RemoveHTML(){...}”方法去除;3、使用IE或其他工具去除;4、通过VBScript去掉HTML代码。

本文操作环境:windows7系统、HTML5&&ASP3.0版、Dell G3电脑。

ASP去掉HTML代码:

方法一 : 禁用HTML

最简单的方法是直接禁用html标签而不用移除它们. 可以使用Replace()函数. 例如:

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

或者直接禁用所有的html:

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

这样做虽然很安全,但显得不够友好.(用户提交的文本会变得难以阅读)

方法二: 使用"<"和">"

怎样使得html标签从文本中消失呢? 我们可以去掉"<"和">"中间的所有内容

在JavaScript中这很简单:

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

现在回到VBScript, 对于Scripting引擎5.0或更高版本(可以通过调用ScriptEngineMajorVersion和ScriptEngineMinorVersion函数来检验版本),我们也可以使用RegExp物体:

Function RemoveHTML( strText )Dim RegExSet RegEx = New RegExpRegEx.Pattern = "<[^>]*>"RegEx.Global = TrueRemoveHTML = RegEx.Replace(strText, "")End Function

若不用正则表达式,下面的函数可以达到同样的目的:

Function RemoveHTML( strText )Dim nPos1Dim nPos2nPos1 = InStr(strText, "<")Do While nPos1 > 0nPos2 = InStr(nPos1 + 1, strText, ">")If nPos2 > 0 ThenstrText = Left(strText, nPos1 - 1) & Mid(strText, nPos2 + 1)ElseExit DoEnd IfnPos1 = InStr(strText, "<")LoopRemoveHTML = strTextEnd Function

以上的方法虽然都可以去掉括号内的html标签,但是这些方法都存在以下问题:

首先,文本内的任何不表示html的尖括号会被去除.而且两个尖括号中间的文本也会被删掉.换句话说,在文本中插入任何"<"或">"都会出现不可预料的结果.

另外,这种方法不能控制删除哪些html标签.比如<b><i>这些无害的标签通常是允许的.

方法三:使用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)

方法四:VBScript

以下的函数可以限制到具体的html标签

简介:

要控制被删除的标签列表,可以通过向TAGLIST常数中添加/删除标记来实现. 例如,要保留所有的<B>标签,则从TAGLIST中删除B. 当前的列表包含了MSDN中的所有html标签以及 LAYER 标签. 每个标签要用";"括起来.

开始标签和结束标签都会被删除,例如"<A...>"和</A...>

若标签同时在 TAGLIST 和 BLOCKTAGLIST 常数中,则起始标签和结束标签之间的所有内容都会被删除

没有结束标记的标签不被视为html标签,其内容不会被删除

块标签若没有结尾标记,从此标签开始到文本结束的所有内容会被删除

若"<!--"后跟的字符不是空格,注释标签不会被删除

使用这个函数很简单:

strPlainText = RemoveHTML(strTextWithHTML)

函数内容如下:

Function RemoveHTML( strText )Dim TAGLISTTAGLIST = ";!--;!DOCTYPE;A;ACRONYM;ADDRESS;APPLET;AREA;B;BASE;BASEFONT;" &_"BGSOUND;BIG;BLOCKQUOTE;BODY;BR;BUTTON;CAPTION;CENTER;CITE;CODE;" &_"COL;COLGROUP;COMMENT;DD;DEL;DFN;DIR;DIV;DL;DT;EM;EMBED;FIELDSET;" &_"FONT;FORM;FRAME;FRAMESET;HEAD;H1;H2;H3;H4;H5;H6;HR;HTML;I;IFRAME;IMG;" &_"INPUT;INS;ISINDEX;KBD;LABEL;LAYER;LAGEND;LI;LINK;LISTING;MAP;MARQUEE;" &_"MENU;META;NOBR;NOFRAMES;NOSCRIPT;OBJECT;OL;OPTION;P;PARAM;PLAINTEXT;" &_"PRE;Q;S;SAMP;SCRIPT;SELECT;SMALL;SPAN;STRIKE;STRONG;STYLE;SUB;SUP;" &_"TABLE;TBODY;TD;TEXTAREA;TFOOT;TH;THEAD;TITLE;TR;TT;U;UL;VAR;WBR;XMP;"Const BLOCKTAGLIST = ";APPLET;EMBED;FRAMESET;HEAD;NOFRAMES;NOSCRIPT;OBJECT;SCRIPT;STYLE;"Dim nPos1Dim nPos2Dim nPos3Dim strResultDim strTagNameDim bRemoveDim bSearchForBlocknPos1 = InStr(strText, "<")Do While nPos1 > 0nPos2 = InStr(nPos1 + 1, strText, ">")If nPos2 > 0 ThenstrTagName = Mid(strText, nPos1 + 1, nPos2 - nPos1 - 1)strTagName = Replace(Replace(strTagName, vbCr, " "), vbLf, " ")nPos3 = InStr(strTagName, " ")If nPos3 > 0 ThenstrTagName = Left(strTagName, nPos3 - 1)End IfIf Left(strTagName, 1) = "/" ThenstrTagName = Mid(strTagName, 2)bSearchForBlock = FalseElsebSearchForBlock = TrueEnd IfIf InStr(1, TAGLIST, ";" & strTagName & ";", vbTextCompare) > 0 ThenbRemove = TrueIf bSearchForBlock ThenIf InStr(1, BLOCKTAGLIST, ";" & strTagName & ";", vbTextCompare) > 0 ThennPos2 = Len(strText)nPos3 = InStr(nPos1 + 1, strText, "</" & strTagName, vbTextCompare)If nPos3 > 0 ThennPos3 = InStr(nPos3 + 1, strText, ">")End IfIf nPos3 > 0 ThennPos2 = nPos3End IfEnd IfEnd IfElsebRemove = FalseEnd IfIf bRemove ThenstrResult = strResult & Left(strText, nPos1 - 1)strText = Mid(strText, nPos2 + 1)ElsestrResult = strResult & Left(strText, nPos1)strText = Mid(strText, nPos1 + 1)End IfElsestrResult = strResult & strTextstrText = ""End IfnPos1 = InStr(strText, "<")LoopstrResult = strResult & strTextRemoveHTML = strResultEnd Function

html有什么特点

1、简易性:超级文本标记语言版本升级采用超集方式,从而更加灵活方便,适合初学前端开发者使用。2、可扩展性:超级文本标记语言的广泛应用带来了加强功能,增加标识符等要求,超级文本标记语言采取子类元素的方式,为系统扩展带来保证。 3、平台无关性:超级文本标记语言能够在广泛的平台上使用,这也是万维网盛行的一个原因。4、通用性:HTML是网络的通用语言,它允许网页制作人建立文本与图片相结合的复杂页面,这些页面可以被网上任何其他人浏览到,无论使用的是什么类型的电脑或浏览器。

以上是“asp如何去掉html”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯