掃描二維碼關注

首頁 APP開(kāi)發小(xiǎo)程序開(kāi)發 微信公衆号 網站建設 營銷推廣 經典案列 産品服務 關于我們

“學習(xí)不僅是掌握知識”

向書(shū)本學習(xí),還要向實踐學習(xí)、向生活學習(xí)。消化已有(yǒu)知識,
而且要力求有(yǒu)所發現、有(yǒu)所發明(míng)、有(yǒu)所創造

asp如(rú)何去除html标記

2019/3/26 12:38:44

asp如(rú)何去除html标記

方法一 : 禁用(yòng)HTML
最簡單的(de)方法是直接禁用(yòng)html标簽而不用(yòng)移除它們. 可(kě)以使用(yòng)Replace()函數. 例如(rú):
strText = Replace(strText, "<script", "&lt;script", 1, -1, 1)
或者直接禁用(yòng)所有(yǒu)的(de)html: 
strText = Replace(strText, "<", "&lt;")
這樣做雖然很安全,但(dàn)顯得不夠友(yǒu)好.(用(yòng)戶提交的(de)文(wén)本會(huì)變得難以閱讀(dú)) 
方法二: 使用(yòng)"<"和(hé)">"
怎樣使得html标簽從文(wén)本中消失呢? 我們可(kě)以去掉"<"和(hé)">"中間的(de)所有(yǒu)内容 
在JavaScript中這很簡單: 
function RemoveHTML( strText )
{
    var regEx = /<[^>]*>/g;
    return strText.replace(regEx, "");
}
現在回到(dào)VBScript, 對于Scripting引擎5.0或更高(gāo)版本(可(kě)以通過調用(yòng)ScriptEngineMajorVersion和(hé)ScriptEngineMinorVersion函數來檢驗版本),我們也(yě)可(kě)以使用(yòng)RegExp物(wù)體: 
Function RemoveHTML( strText )
    Dim RegEx
    Set RegEx = New RegExp
    RegEx.Pattern = "<[^>]*>"
    RegEx.Global = True
    RemoveHTML = RegEx.Replace(strText, "")
End Function
若不用(yòng)正則表達式,下面的(de)函數可(kě)以達到(dào)同樣的(de)目的(de): 
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 
以上(shàng)的(de)方法雖然都(dōu)可(kě)以去掉括号内的(de)html标簽,但(dàn)是這些方法都(dōu)存在以下問題: 
首先,文(wén)本内的(de)任何不表示html的(de)尖括号會(huì)被去除.而且兩個(gè)尖括号中間的(de)文(wén)本也(yě)會(huì)被删掉.換句話(huà)說,在文(wén)本中插入任何"<"或">"都(dōu)會(huì)出現不可(kě)預料的(de)結果.
另外,這種方法不能(néng)控制(zhì)删除哪些html标簽.比如(rú)<b><i>這些無害的(de)标簽通常是允許的(de).
方法三:使用(yòng)IE或其他(tā)工(gōng)具
有(yǒu)很多缺點:
"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
以下的(de)函數可(kě)以限制(zhì)到(dào)具體的(de)html标簽
簡介: 
要控制(zhì)被删除的(de)标簽列表,可(kě)以通過向TAGLIST常數中添加/删除标記來實現. 例如(rú),要保留所有(yǒu)的(de)<B>标簽,則從TAGLIST中删除B. 當前的(de)列表包含了MSDN中的(de)所有(yǒu)html标簽以及 LAYER 标簽. 每個(gè)标簽要用(yòng)";"括起來.
開(kāi)始标簽和(hé)結束标簽都(dōu)會(huì)被删除,例如(rú)"<A...>"和(hé)</A...> 
若标簽同時在 TAGLIST 和(hé) BLOCKTAGLIST 常數中,則起始标簽和(hé)結束标簽之間的(de)所有(yǒu)内容都(dōu)會(huì)被删除 
沒有(yǒu)結束标記的(de)标簽不被視爲html标簽,其内容不會(huì)被删除 
塊标簽若沒有(yǒu)結尾标記,從此标簽開(kāi)始到(dào)文(wén)本結束的(de)所有(yǒu)内容會(huì)被


深圳市南山區南山街(jiē)道南海(hǎi)大(dà)道西(xī)桂廟路(lù)北陽光(guāng)華藝大(dà)廈1棟4F、4G-04

咨詢電話(huà):136 8237 6272
大(dà)客戶咨詢:139 0290 5075
業(yè)務QQ:195006118
技術(shù)QQ:179981967

更多可(kě)以了解的(de)信息

客戶案列
新聞資訊
資質榮譽
團隊風采
項目進度查詢

售前QQ咨詢
QQ溝通 項目QQ溝通

精銳軟件(jiàn)

Copyright© 2018-2023 深圳市無窮大軟件技術有限公司 All Rights Reserved. 京ICP證000000号 公安備案号:粵公網安備44030502009460号