日期:2014-05-17  浏览次数:21190 次

过滤掉HTML代码 只显示文本部分
我现要想从字段里提出一部分做为显示的内容,
但字段里有HTML代码,还有UBB代码。有没有通用的函数,可能直接过滤掉这样。

过滤之后,只留下文本,然后在进行截取。

------解决方案--------------------
<%
function nohtml(str)
dim re
Set re=new RegExp
re.IgnoreCase =true
re.Global=True
re.Pattern= "(\ <.[^\ <]*\> ) "
str=re.replace(str, " ")
re.Pattern= "(\ <\/[^\ <]*\> ) "
str=re.replace(str, " ")
nohtml=str
set re=nothing
end function
%>
这段代码你试试看
------解决方案--------------------
如果只是显示的话直接用innerHTML
------解决方案--------------------
Function FilterHTML(strToFilter)
Dim strTempstrTemp = strToFilter
While Instr(1,strTemp, " < ") AND Instr(1, strTemp, "> ")
strTemp = Left(strTemp, Instr(1, strTemp, " < ")-1) & Right(strTemp, Len(strTemp)-Instr(1,strTemp, "> "))
WEnd
FilterHTML = strTempEnd Function
------解决方案--------------------
'删除所有html标记
'------------------------------
Function DelHtmls(inhtmls)
Dim regEx,vKey,vP
vP = "( <.+?> ) "
Set regEx=new regexp
regEx.Global = true
regEx.IgnoreCase = true
regEx.Pattern = vP
DelHtmls = regEx.Replace(inhtmls, " ")
DelHtmls = Trim(DelHtmls)
DelHtmls = Replace(DelHtmls,vbtab, " ")
DelHtmls = Replace(DelHtmls,chr(32), " ")
DelHtmls = Replace(DelHtmls,chr(10), " ")
DelHtmls = Replace(DelHtmls,chr(13), " ")
End Function
'------------------------------
'过滤html标记
'------------------------------
Function ScriptHtml(Byval ConStr,TagName,FType)
Dim Re
Set Re=new RegExp
Re.IgnoreCase =true
Re.Global=True
Select Case FType
Case 1
Re.Pattern= " < " & TagName & "([^> ])*> "
ConStr=Re.Replace(ConStr, " ")
Case 2
Re.Pattern= " < " & TagName & "([^> ])*> .*? </ " & TagName & "([^> ])*> "
ConStr=Re.Replace(ConStr, " ")
Case 3
Re.Pattern= " < " & TagName & "([^> ])*> "
ConStr=Re.Replace(ConStr, " ")
Re.Pattern= " </ " & TagName & "([^> ])*> "
ConStr=Re.Replace(ConStr, " ")
End Select
ScriptHtml=ConStr
Set Re=Nothing
End Function