永发信息网

ASP去掉HTML代码

答案:3  悬赏:40  手机版
解决时间 2021-12-03 22:23
  • 提问者网友:你挡着我发光了
  • 2021-12-03 04:22
ASP去掉HTML代码
最佳答案
  • 五星知识达人网友:迷人又混蛋
  • 2021-12-03 05:51
ASP去掉HTML代码:
方法一 : 禁用HTML
最简单的方法是直接禁用html标签而不用移除它们. 可以使用Replace()函数. 例如:
strText = Replace(strText, "或者直接禁用所有的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 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标签.比如
全部回答
  • 1楼网友:玩世
  • 2021-12-03 07:56
建议LZ看一下 ASP中有关 正则表达式 的操作
  • 2楼网友:长青诗
  • 2021-12-03 06:19
Function RemoveHTML( strText )
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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯