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

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

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, ""); 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 桥本有菜作品在线 | 亚洲图片 自拍偷拍 | 久久 这里只精品 免费 | 四虎影院网站 | 亚洲欧美日韩高清 | 色综合97天天综合网 | 扒开女人屁股眼看个够 | 出差被灌醉绝伦的上司日本 | 成年视频在线观看 | 爽好舒服宝贝添奶吻戏 | 18国产精品白浆在线观看免费 | 洗濯屋动漫在线观看 | 久久九九久精品国产尤物 | 四虎成人国产精品视频 | 91传媒制片厂果冻有限公司 | 成人免费一区二区三区在线观看 | 国产成人精品免费视频大全五级 | 国产99视频精品免费视频7 | 91人人| 午夜dj免费视频观看社区 | 久久午夜一区二区 | 久久99r66热这里有精品 | 性派对videofreeparty | 精品性久久| 男老头澡堂gay老头456 | 四虎影音在线 | 午夜精品久久久久 | 国产成人99久久亚洲综合精品 | 99久在线| 亚洲卡一卡2卡三卡4麻豆 | 女教师系列三上悠亚在线观看 | 美女被灌浣肠失禁视频 | 美女舒服好紧太爽了视频 | 成人免费观看网欧美片 | 国产成人精品曰本亚洲78 | 日韩精品欧美激情国产一区 | 国产精品久久久久久爽爽爽 | 国产美女亚洲精品久久久综合 | 91精品国产高清久久久久久io | 范冰冰好紧好滑好湿 | 99精品视频免费在线观看 |