| 有時(shí)候我們需要程序截圖文章中的部分字符作為摘要顯示出來(lái),這時(shí)我們一般是只希望提取的字符串是純文本的,沒(méi)有如何html標簽,如果我們章節用left函數截取的化,得到的內容就包含了html代碼,為了解決這個(gè)問(wèn)題,我們可以有兩個(gè)方法。 一是,在數據庫中特別設置一個(gè)字段用于保存摘要。優(yōu)點(diǎn)是你可以自己總結文章摘要,這樣可讀性更強,不至于讓人看不懂。對seo也是有好處的,缺點(diǎn)就是麻煩了一點(diǎn),要多花心思和時(shí)間。 二是,用程序提前文章中的特定內容作為摘要,一般是前面多少個(gè)字符。此時(shí)我們就可以使用正則表達式來(lái)輕松的實(shí)現這個(gè)提取前N個(gè)純字符的功能。 我們知道html標簽有一個(gè)特定都是用<>包含的,所以正則表達式只要匹配<>就可以了: 下面的兩個(gè)函數都可以實(shí)現過(guò)濾html標簽的作用: Function RemoveHTML(str) Dim re Set re=New RegExp re.Pattern="<.*?>" re.IgnoreCase=True re.Global=True str=re.Replace(str,"") Set re=Nothing RemoveHTML=str End Function 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 RemoveHTML=strHTML Set objRegExp = Nothing End Function 對于效率來(lái)講應該第一個(gè)更好。 代碼如下: <% Dim contenstr contenstr="<a '當然這里的contenstr在實(shí)際使用時(shí)換成你的文章內容 '調用過(guò)濾函數移除html標簽 contenstr=RemoveHTML(contenstr) contenstr=left(contenstr,100) '截取前100個(gè)字符 response.write("移除html標簽后:" & contenstr) %>
|