<IMG id="img1" src="1/1.gif" alt=""></IMG><IMG id="img2" src="1/2.gif" alt="12"></IMG>
这样多个IMG标签,如何用正则把IMG标签 除了 src属性外都删掉 有哪些属性不确定。。结果  <IMG src="1/1.gif" ></IMG><IMG src="1/2.gif" ></IMG>谢谢各位了~~~

解决方案 »

  1.   


    void Main()
    {
    string str=@"<IMG id=""img1"" src=""1/1.gif"" alt=""""></IMG><IMG id=""img2"" src=""1/2.gif"" alt=""12""></IMG>";
     
    str=Regex.Replace(str,@"(?i)(<img)[^>]*?(src=(['""\s]?)[^'""\s]+\3)[^>]*?(>[^<>]*?</img>)","$1 $2 $4");
    Console.WriteLine(str.Trim('|'));
    //<IMG src="1/1.gif" ></IMG><IMG src="1/2.gif" ></IMG>}
      

  2.   


    void Main()
    {
    string str=@"<IMG id=""img1"" src=""1/1.gif"" alt=""""></IMG><IMG id=""img2"" src=""1/2.gif"" alt=""12""></IMG>";
     
    str=Regex.Replace(str,@"(?i)(<img)[^>]*?(src=(['""\s]?)[^'""\s]+\3)[^>]*?(>[^<>]*?</img>)","$1 $2$4");
    Console.WriteLine(str); 
    //<IMG src="1/1.gif"></IMG><IMG src="1/2.gif"></IMG>}
      

  3.   

    /// <summary> 
    /// 取得HTML中所有图片的 URL。 
    /// </summary> 
    /// <param name="sHtmlText">HTML代码</param> 
    /// <returns>图片的URL列表</returns> 
    public static string[] GetHtmlImageUrlList(string sHtmlText) 

      // 定义正则表达式用来匹配 img 标签 
      Regex regImg = new Regex(@"<img\b[^<>]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""']?[\s\t\r\n]*(?<imgUrl>[^\s\t\r\n""'<>]*)[^<>]*?/?[\s\t\r\n]*>",   RegexOptions.IgnoreCase); 
      
      // 搜索匹配的字符串 
      MatchCollection matches = regImg.Matches(sHtmlText); 
      int i = 0; 
      string[] sUrlList = new string[matches.Count]; 
      
      // 取得匹配项列表 
      foreach (Match match in matches) 
      sUrlList[i++] = match.Groups["imgUrl"].Value; 
      return sUrlList; 
    }
      

  4.   


    谢谢大侠。。 可是我的IMG的个数不确定啊  有可能有3个 有可能有10个  都能替换么