asp怎样去除文章中的html代码
答案:6 悬赏:50
解决时间 2021-01-23 09:50
- 提问者网友:兔牙战士
- 2021-01-22 17:05
asp怎样去除文章中的html代码
最佳答案
- 二级知识专家网友:西岸风
- 2021-01-22 18:37
方法一 : 禁用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标签.比如
最简单的方法是直接禁用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-01-22 21:35
·<a href="news-6-<%=rs("c_id")%>.html" target="_blank" title="<%=rs("c_nam")%>">
<%if rs("c_tj")=1 or rs("c_tj")=3 then%>
<font color="#FF0000"><%=cutStr(rs("c_nam"),24)%></font>
<%else%>
<%=cutStr(rs("c_nam"),24)%>
<%end if%>
</a>
<br />
<%=cutStr(rs("c_con"),80)%>
<br />
<%
rs.movenext
loop
end if
rs.close
<%if rs("c_tj")=1 or rs("c_tj")=3 then%>
<font color="#FF0000"><%=cutStr(rs("c_nam"),24)%></font>
<%else%>
<%=cutStr(rs("c_nam"),24)%>
<%end if%>
</a>
<br />
<%=cutStr(rs("c_con"),80)%>
<br />
<%
rs.movenext
loop
end if
rs.close
- 2楼网友:等灯
- 2021-01-22 21:09
<p><font style="color:red">我的问题谁来解决</font></p>
<p>xxxx</p>这是一段文字“xxxx”
<font style="color:red">xxxx</font> 定义文字颜色为红色的“xxxx”
所以把<font x y z ...></font>去掉就可以了
<p>xxxx</p>这是一段文字“xxxx”
<font style="color:red">xxxx</font> 定义文字颜色为红色的“xxxx”
所以把<font x y z ...></font>去掉就可以了
- 3楼网友:思契十里
- 2021-01-22 19:37
用正则表达式替换。
EX:
Dim s
s = "<p><font style=""color:red"">我的问题谁来解决</font></p>"
MsgBox(removeHTML(s))
Function removeHTML(source)
Dim regex
Set regex = New RegExp
regex.Global = True
regex.Pattern = "<.*?>"
removeHTML = regex.Replace(source, "")
End Function
EX:
Dim s
s = "<p><font style=""color:red"">我的问题谁来解决</font></p>"
MsgBox(removeHTML(s))
Function removeHTML(source)
Dim regex
Set regex = New RegExp
regex.Global = True
regex.Pattern = "<.*?>"
removeHTML = regex.Replace(source, "")
End Function
- 4楼网友:一袍清酒付
- 2021-01-22 19:21
我暂时保留我的看法!
- 5楼网友:不如潦草
- 2021-01-22 19:07
我一直用下面这个函数
'****************************************************
'过程名:RemoveHTML
'作用:过滤HTML标签
'参数:strHTML
'****************************************************
Function RemoveHTML(strHTML)
Dim objRegExp, Match, Matches
Set objRegExp = New Regexp
objRegExp.IgnoreCase = True
objRegExp.Global = True
'取闭合的<>
objRegExp.Pattern = "<.+?>"
'进行匹配
Set Matches=objRegExp.Execute(strHTML)
' 遍历匹配集合,并替换掉匹配的项目
For Each Match in Matches
strHtml=Replace(strHTML,Match.Value,"")
Next
'/////////////////////////////////////////////////////////
objRegExp.Pattern = "<.+?>"
'进行匹配
Set Matches=objRegExp.Execute(strHTML)
' 遍历匹配集合,并替换掉匹配的项目
For Each Match in Matches
strHtml=Replace(strHTML,Match.Value,"")
Next
'//////////////////////////////////////////////////////////
strHTML=replace(strHTML," ","")
strHTML=replace(strHTML," ","")
RemoveHTML=strHTML
Set objRegExp = Nothing
End Function
'****************************************************
'过程名:RemoveHTML
'作用:过滤HTML标签
'参数:strHTML
'****************************************************
Function RemoveHTML(strHTML)
Dim objRegExp, Match, Matches
Set objRegExp = New Regexp
objRegExp.IgnoreCase = True
objRegExp.Global = True
'取闭合的<>
objRegExp.Pattern = "<.+?>"
'进行匹配
Set Matches=objRegExp.Execute(strHTML)
' 遍历匹配集合,并替换掉匹配的项目
For Each Match in Matches
strHtml=Replace(strHTML,Match.Value,"")
Next
'/////////////////////////////////////////////////////////
objRegExp.Pattern = "<.+?>"
'进行匹配
Set Matches=objRegExp.Execute(strHTML)
' 遍历匹配集合,并替换掉匹配的项目
For Each Match in Matches
strHtml=Replace(strHTML,Match.Value,"")
Next
'//////////////////////////////////////////////////////////
strHTML=replace(strHTML," ","")
strHTML=replace(strHTML," ","")
RemoveHTML=strHTML
Set objRegExp = Nothing
End Function
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯