62,041
社区成员
发帖
与我相关
我的任务
分享
/// <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;
}
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>
}
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>
}