问题描述
哪位好心朋友给一个过滤html代码但保留图片地址的正则表达式,万分感谢啦!
解决方案
解决方案二:
try...(?i)<(?!imgb)[^>]*>
解决方案三:
补充一下:过滤html代码但保留图片地址还要保留标签之间的文字
解决方案四:
1楼正则有什么不满足的,给出实例
解决方案五:
刚才用以上方法基本实现了,还要获得src后的网址,并在获取src地址后,改成[img]url[/img]能实现吗
解决方案六:
引用4楼zhqsch的回复:
刚才用以上方法基本实现了,还要获得src后的网址,并在获取src地址后,改成[img]url[/img]能实现吗
没有什么不能实现的,给实例
解决方案七:
比如<b>前面章节中讲到的表达式,无论是只能匹配一种字符的表达式,还是可以匹配多种字符其中任意一个的表达式,都只能匹配一次。匹配下一个时,匹配结果是:成功;在修饰匹配次数的特殊符号后再加上一个"?"号,则可以使匹配次数不定的表达式尽可能少的匹配,使可匹配可不匹配的表达式</b><imgsrc="http://www.****.com/ddd.jpg"width="800">尽可能的"不匹配"。如果少匹配就会导致整个表达式匹配失败的时候,与贪婪模式类似,非贪婪模式会最小限度的再匹配一些,以使整个表达式匹配成功。为了让整个表达式匹配成功变成:前面章节中讲到的表达式,无论是只能匹配一种字符的表达式,还是可以匹配多种字符其中任意一个的表达式,都只能匹配一次。匹配下一个时,匹配结果是:成功;在修饰匹配次数的特殊符号后再加上一个"?"号,则可以使匹配次数不定的表达式尽可能少的匹配,使可匹配可不匹配的表达式尽可能的"不匹配"。如果少匹配就会导致整个表达式匹配失败的时候,与贪婪模式类似,非贪婪模式会最小限度的再匹配一些,以使整个表达式匹配成功。为了让整个表达式匹配成功
解决方案八:
try...RegexregTag=newRegex(@"<[^>]*>");RegexregImg=newRegex(@"(?i)<img[^>]*?src=(['""]?)(?<src>[^'""s>]+)1[^>]*>");stringresult=regTag.Replace(yourStr,delegate(Matchm){if(m.Value.ToLower().StartsWith("<img"))returnregImg.Replace(m.Value,"[img]${src}[/img]");return"";});
解决方案九:
厉害!看不懂,不过十分感谢,万分佩服
解决方案十:
stringresult=regTag.Replace(yourStr,delegate(Matchm){if(m.Value.ToLower().StartsWith("<img"))returnregImg.Replace(m.Value,"[img]${src}[/img]");return"";});这句执行不了!
解决方案十一:
你用的什么环境,.NET1.1?privatestringRegReplace(Matchm){if(m.Value.ToLower().StartsWith("<img")){returnRegex.Replace(m.Value,@"(?i)<img[^>]*?src=(['""]?)(?<src>[^'""s>]+)1[^>]*>","[img]${src}[/img]");}return"";}//调用RegexregTag=newRegex(@"<[^>]*>");stringresult=regTag.Replace(yourStr,RegReplace);
解决方案十二:
.net3.5
解决方案十三:
引用11楼zhqsch的回复:
.net3.5
。。。报什么错
解决方案十四:
过客的没问题..我试过了..太强悍了.
解决方案十五:
程序一运行到这里就停止响应
解决方案:
那用10楼的,断点调下,看到哪里出问题给下你实际执行处理的源字符串
解决方案:
<DIVstyle=""MARGIN-BOTTOM:10px""><SELECTonchange=javascript:window.location=(this.options[this.selectedIndex].value);name=gotopage><OPTIONvalue=http://women.sohu.com/20091222/n269097788.shtmlselected>第1页:婚后感到婚姻的平淡</OPTION><OPTIONvalue=http://women.sohu.com/20091222/n269097788_1.shtml>第2页:遭遇一场万劫不复的恋情</OPTION><OPTIONvalue=http://women.sohu.com/20091222/n269097788_2.shtml>第3页:情感日记使我私情败露</OPTION><OPTIONvalue=http://women.sohu.com/20091222/n269097788_3.shtml>第4页:割腕自杀留不住无情的情人</OPTION></SELECT></DIV><DIVclass=""abstractbgBclear""style=""BORDER-RIGHT:#d4d4d41pxsolid;PADDING-RIGHT:10px;BORDER-TOP:#d4d4d41pxsolid;PADDING-LEFT:10px;BACKGROUND:nonetransparentscrollrepeat0%0%;PADDING-BOTTOM:10px;BORDER-LEFT:#d4d4d41pxsolid;PADDING-TOP:10px;BORDER-BOTTOM:#d4d4d41pxsolid""> 我白天上完课回到家,一份离婚协议书已经摆在了客厅的餐桌上。他还另外留了个条,上面说,限我一个星期搬出家门,否则,他还要去揍那个男人,直至我搬走为止。</DIV><P> </P><TABLEcellSpacing=0cellPadding=0align=centerborder=0><TBODY><TR><TDalign=middle><TABLEcellSpacing=0cellPadding=0border=0><TBODY><TR><TD><IMGalt=""""src=""http://photocdn.sohu.com/20091221/Img269097789.jpg""align=middle></TD></TR></TBODY></TABLE></TD></TR><TR><TDstyle=""FONT-SIZE:12px""align=middlescw_ig=""yes""></TD></TR></TBODY></TABLE><BR><P> <STRONG>(一)婚后感到婚姻的平淡</STRONG></P><P> 我和我的丈夫是大学同学。大一那年,在新学期的迎新晚会上,当他手持萨克斯管笑容满面地走上台去的时候,我一下子就迷上他了——高高的个子,长发披肩,鼻梁很坚挺,眼睛又有点凹下去,整张脸的轮廓看上去简直就是希腊人的雕塑。</P><P> 也算是一见钟情吧,我们顺理成章地坠入情网。</P><P> 他是学中文的,我是学英语的,大学四年,我们如胶似漆地恋爱了四年。那是我们最幸福的四年,最甜蜜的四年。可是,大学毕业以后,当我们迫不及待地步入婚姻殿堂时,这种幸福和甜蜜就像不断被兑入水的一杯茶,越来越没有滋味了。</P><P> 可能是恋爱的时间太长,激情已经耗尽,也可能是他太忙了,白天上班,晚上又要到一些茶吧酒吧去演出,挣点儿外块,深更半夜才能回来,回来以后倒头就睡,在生理和心理上都冷落了我,没有多久,我就渐渐感到了婚姻的平淡和乏味。</P><P> 在婚后的第三年,也就是去年,和我同在一所中学任教的一个同事了解了我内心的空虚和寂寞之后告诉我,上网聊天,可以解除你的寂寞,还可以使你从封闭的小圈子走出来。</P><P> 就这样,我买了台电脑回来,并很快就学会了打字和操作,然后开始上网聊天。我现在分析,那时,我心底里其实早已埋藏着与外界接触的强烈渴望,只不过网络将这种渴望变成了现实。</P><TABLEcellSpacing=0cellPadding=0width=""100%""border=0><TBODY><TR><TDstyle=""FONT-WEIGHT:bold;FONT-SIZE:14px""align=middle>[1][<Ahref=""http://women.sohu.com/20091222/n269097788_1.shtml"">2</A>][<Ahref=""http://women.sohu.com/20091222/n269097788_2.shtml"">3</A>][<Ahref=""http://women.sohu.com/20091222/n269097788_3.shtml"">4</A>][<Ahref=""http://women.sohu.com/20091222/n269097788_1.shtml"">下一页</A>]</TD></TR></TBODY></TABLE>广告flash代码!
解决方案:
去掉所有html把其中图片地址改为[img]http:\***.***[/img]
解决方案:
可以了,过客确实厉害!
解决方案:
在我这测试,7楼和10楼的代码都是没问题的
解决方案:
@"<(image)[^>]+(?:src=['|""]?([^'|""|s|>]+)['|""]?)[^>]+>([^<]+)</1>"match.Groups[2].value=srcmatch.Groups[3].value=text
解决方案:
privatestringRegReplace(Matchm){if(m.Value.ToLower().StartsWith("<imgsrc="../face")){returnRegex.Replace(m.Value,@"(?i)<img[^>]*?src=(['""]?)(?<src>[^'""s>]+)1[^>]*>","[img]${src}[/img]");}return"";}非常有用