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

标签 c# html regex

我想在一个字符串中找到所有空的 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);

关于c# - 使用 C# 和正则表达式将字符添加到空的 html 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17877024/

相关文章:

javascript - 我怎样才能使我的变量更改为与下拉菜单中的值相同?

java - 使用模式匹配在多字符定界符上拆分一行

c# - 如何避免服务定位器反模式?

c# - 限制 HttpModule 只处理某些请求

c# - EF Core 3 未加载第二层或更深层的相关数据

c# - 处理具有 2 个流的对象

javascript - 从数组中绘制图像

javascript - 在页面加载/刷新时加载随机页面的脚本?

产品 key 的正则表达式

java - 用于删除两个字符之间的子字符串的正则表达式