正则高手进,一段html,判断里面的img标签里没有alt信息,没有的话加上alt="XXXX"
c#
正则,一段html,判断里面的img标签里没有alt信息,没有的话加上alt="正则,一段html,判断里面的img标签里没有alt信息,没有的话加上alt="XXXX"" 正则
[解决办法]
string source = @"<img src="""" alt="正则,一段html,判断里面的img标签里没有alt信息,没有的话加上alt="XXXX""""> <img src="""" > <img src="""" title=""""> <img src="""" id=""""> <img src="""" title="""" alt="正则,一段html,判断里面的img标签里没有alt信息,没有的话加上alt="XXXX""""> ";
foreach (Match m in Regex.Matches(source, @"(?is)<img(?![^<>]*?alt[^<>]*?>)[^>]*?>"))
{
Console.WriteLine(Regex.Replace(m.Value, @"(?<=<img\s*).*?(?=/?>)", @"$0alt="正则,一段html,判断里面的img标签里没有alt信息,没有的话加上alt="XXXX""XXX"""));
}
string yourhtml = @"<img src='xxx.jpg'>
<img src='xxx.jpg' alt='yyy'> ";
Console.WriteLine(yourhtml);
yourhtml = Regex.Replace(yourhtml, "(?i)(?<=<img\\b)[^>]*?(?=>)", m => m.Value.Contains("alt="正则,一段html,判断里面的img标签里没有alt信息,没有的话加上alt="XXXX"" alt='XXX'");
Console.WriteLine(yourhtml);
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml("<img src='1.jpg'/><img src='2.jpg' alt='value'/><img src='3.jpg' /><img src='alt.jpg' title='alt=value'/><img src='5.jpg' alt=''/>");
htmlDoc.DocumentNode.SelectNodes("//img[not(@alt)]").ToList().ForEach(x => x.SetAttributeValue("alt", "xxxxx"));
Response.Write(Server.HtmlEncode(htmlDoc.DocumentNode.InnerHtml));