一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - asp.net正則表達式刪除指定的HTML標簽的代碼

asp.net正則表達式刪除指定的HTML標簽的代碼

2019-09-08 11:20asp.net之家 ASP.NET教程

抓取某網頁的數據后(比如描述),如果照原樣顯示的話,可能會因為它里面包含沒有閉合的HTML標簽而打亂了格式,也可能它里面用了比較讓人 費解 的HTML標簽,把預訂的格式攪亂.

如果全盤刪除里面的 HTML 標簽,可能會造成閱讀上的困難(比如 a, img 這些標簽), 最好是刪除一部分,保留一部分. 

正則表達式里,判斷 包含某些字符串 是非常容易理解的,但是如何判斷 不包含某些字符串 (是字符串,不是字符,是某些,不是某個) 確實是個費解的事. 

復制代碼代碼如下:


<(?!((/?\s?li)|(/?\s?ul)|(/?\s?a)|(/?\s?img)|(/?\s?br)|(/?\s?span)|(/?\s?b)))[^>]+> 


這個正則是判斷HTML標簽不包含 li / ul / a / img / br / span / b 的,就上面的要求來說,是要 刪除 除這里列出的HTML標簽,這也是我摸索了很長時間才搞出來的. 
(?!exp) 匹配后面跟的不是exp的位置 
/?\s? 我一開始試著把它寫到最前面的 < 后面,但是測試失敗了. 

下面是一個簡單的函數,把要保留的TAG串起來,生成一個正則表達式,然后把不需要的TAG刪除... 

復制代碼代碼如下:


private static string RemoveSpecifyHtml(string ctx) { 
string[] holdTags = { "a", "img", "br", "strong", "b", "span" };//要保留的 tag 
// <(?!((/?\s?li)|(/?\s?ul)|(/?\s?a)|(/?\s?img)|(/?\s?br)|(/?\s?span)|(/?\s?b)))[^>]+> 
string regStr = string.Format(@"<(?!((/?\s?{0})))[^>]+>", string.Join(@")|(/?\s?", holdTags)); 
Regex reg = new Regex(regStr, RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.IgnoreCase); 


return reg.Replace(ctx, ""); 


修正: 
上面的正則,如果保留了 li , 實際運行會發現 link 也給保留下來了, 保留 a 會把 addr 也給保留下來, 解決辦法就是加 \b 斷言. 

復制代碼代碼如下:


<(?!((/?\s?li\b)|(/?\s?ul)|(/?\s?a\b)|(/?\s?img\b)|(/?\s?br\b)|(/?\s?span\b)|(/?\s?b\b)))[^>]+> 

private static string RemoveSpecifyHtml(string ctx) { 
string[] holdTags = { "a", "img", "br", "strong", "b", "span", "li" };//保留的 tag 
// <(?!((/?\s?li\b)|(/?\s?ul\b)|(/?\s?a\b)|(/?\s?img\b)|(/?\s?br\b)|(/?\s?span\b)|(/?\s?b\b)))[^>]+> 
string regStr = string.Format(@"<(?!((/?\s?{0})))[^>]+>", string.Join(@"\b)|(/?\s?", holdTags)); 
Regex reg = new Regex(regStr, RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.IgnoreCase); 

return reg.Replace(ctx, ""); 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 娇小异类videos | 欧美亚洲第一页 | 男男gaygays18中国 | 深夜视频在线播放 | 青青青青青国产免费手机看视频 | 亚洲欧洲日产国码无码av | 国产福利一区二区精品视频 | 日本视频在线观看播放 | 亚洲成人中文 | 亚洲成人贴图 | 99久久99久久免费精品蜜桃 | avtt在线播放| 免费在线视频成人 | 免费观看一级欧美在线视频 | 国产好深好硬好爽我还要视频 | 丝袜性爱 | 日韩欧美国产一区二区三区 | 色愉拍亚洲偷自拍 | 五月婷婷丁香色 | 成人免费体验区福利云点播 | 800精品国产导航 | 99久久综合 | 日本人与黑人做爰视频网站 | 91久久碰国产 | 免费网站视频 | 五月婷婷俺也去开心 | 午夜爱情动作片P | 欧美撒尿屁股嘘嘘撒尿 | 精品视频手机在线观看免费 | 亚洲欧美精品久久 | luan小说| 国内精品免费一区二区三区 | 亚洲乱码一二三四五六区 | 奇米影视999 | 国产在线欧美精品 | 2021麻豆剧果冻传媒入口永久 | 亚洲国产免费 | 国产欧美日韩在线观看精品 | 青草国产福利视频免费观看 | 日本免费三片在线观看 | 777奇米影视一区二区三区 |