Skip to main content
 首页 » 编程设计

c#之使用 C# 和正则表达式将字符添加到空的 html 标签

2024年02月13日30dflying

我想在一个字符串中找到所有空的 HTML 标签,例如:

<div></div> 
<span>test</span> 
<a></a> 

并向该字符串中的所有空标签添加一个空格或一个字符:

<div>something</div> 
<span>test</span> 
<a>something</a> 

我有一个匹配所有空标签的正则表达式,但我不确定替换标签的最佳方法是什么。

正则表达式:

<(\w+)(?:\s+\w+="[^"]+(?:"\$[^"]+"[^"]+)?")*>\s*</\1> 

请您参考如下方法:

使用HtmlAgilityPack

HtmlDocument doc = new HtmlDocument(); 
doc.LoadHtml(html); 
foreach(HtmlNode node in doc.DocumentElement.SelectNodes("//*").Where(x=>x.InnerText=="")) 
{ 
       node.ParentNode.ReplaceChild(HtmlTextNode.CreateNode(input), node); 
} 
doc.Save(yourFile);