您正在使用 IPV4 [18.118.140.108] 访问本站,您本次已经查看了 1 页
用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器
[公益]保护绿色环境,构建和谐社会       悟空收录网      

【腾讯云】 爆款2核2G3M云服务器首年 61元,叠加红包再享折上折      
[公益] 地球是我家,绿化靠大家      
2024年 劳动节 012
2024年 端午节 052
2025年 元 旦 257
2025年 春 节 285
综合数码金融娱乐服务报刊政府机构 推荐 排名 今日 申请 友情  
您现在的位置:首页 >> ASP/ASP.net >> 内容
本类新增
本类热门
asp.net正则表达式删除指定的HTML标签的代码
内容摘要: 如果全盘删除里面的HTML标签,可能会造成阅读上的困难(比如a,img这些标签),最好是删除一部分,保留一部分.正则表达式里,判断包含某些字符串是非常容易理解的,但是如何判断不包含某些字符串(是字符串,不是字符,是某些,不是某个)确实是个费解的事.代码如下:(?!((/?\s?li)|(/?\s?ul)|(/?\s?a)|(/?\s?img)|(/?\s?b......
如果全盘删除里面的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删除...

代码如下:

privatestaticstringRemoveSpecifyHtml(stringctx){

string[]holdTags={"a","img","br","strong","b","span"};//要保留的tag

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

stringregStr=string.Format(@"<(?!((/?\s?{0})))[^>]+>",string.Join(@")|(/?\s?",holdTags));

Regexreg=newRegex(regStr,RegexOptions.Compiled|RegexOptions.Multiline|RegexOptions.IgnoreCase);

returnreg.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)))[^>]+>

privatestaticstringRemoveSpecifyHtml(stringctx){

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)))[^>]+>

stringregStr=string.Format(@"<(?!((/?\s?{0})))[^>]+>",string.Join(@"\b)|(/?\s?",holdTags));

Regexreg=newRegex(regStr,RegexOptions.Compiled|RegexOptions.Multiline|RegexOptions.IgnoreCase);

returnreg.Replace(ctx,"");

}

版权声明:本内容来源于网络,如有侵犯您的版权,请联系站长,本站收到您的信息后将及时处理。
上一篇:asp自动补全html标签自动闭合

 

下一篇:asp动态级联菜单代码

发布日期:2023/2/23
手机扫二维码直达本页
发布时间:13:41:17
点  击:2
录  入:壹家怡园
相关文章
Baidu
YiJiaCMS 7.3.8 build231228(MSSQL) 闽ICP备05000814号-1
本空间由腾讯云(轻量应用服务器)提供,Cloudflare提供加速防护
运行时间载入中.....