<div>另类</div><span style="font-weight: inherit; font-style: inherit; text-decoration: none; font-size: 15px; color: rgb(0, 0, 0);">图片<img alt="" src="flash/13.gif" style="vertical-align: top;"><img alt="" src="head/1.gif" style="vertical-align: top;"></span>因为用的是firefox所以firefox自动将这两段的img标签的 "/>"给去掉了,因为还有其他用途,所以我必须在将“/>”加上去如下:<img alt="" src="flash/13.gif" style="vertical-align: top;"/>

那么有什么正则或其他办法解决吗···??

解决方案 »

  1.   

    将<img ......>部分先取出来再替换就可以了 分两步来就容易些吧 不知道是不是楼主问的意思
      

  2.   

        string s = @"<div>另类 </div> <span style=""font-weight: inherit; font-style: inherit; text-decoration: none; font-size: 15px; color: rgb(0, 0, 0);"">图片 <img alt="""" src=""flash/13.gif"" style=""vertical-align: top;""> <img alt="""" src=""head/1.gif"" style=""vertical-align: top;""> </span>";
        string t = Regex.Replace(s, @"(?si)(<img\s+[^>]*)>", "$1/>");
      

  3.   


        // 这样更精确些,"(?<!/)>"就不会把<img ... />原来有/的重复加上/
        string t = Regex.Replace(s, @"(?si)(<img\s+[^>]*)(?<!/)>", "$1/>");
      

  4.   

    对我就是想把所以<img>标签没有结束标签“/>”都给他加上“/”,2楼这个方法是将所有<img>不包含结束标签得改成包含“/”的吗??因为我的这种没有结束标签<img>不止两个····还有··在javascript中怎么做呢···