我正在使用 HTML 敏捷包来清理 WYSIWYG 的输入。这可能不是最好的方法,但我正在与接触正则表达式时爆炸的开发人员合作,所以它必须足够了。
我的所见即所得内容看起来像这样(例如):
<p></p>
<p></p>
<p><span><input id="textbox" type="text" /></span></p>
我需要去掉空的段落标签。这是我目前的做法:
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//p");
if (nodes == null)
return;
foreach (HtmlNode node in nodes)
{
node.InnerHtml = node.InnerHtml.Trim();
if (node.InnerHtml == string.Empty)
node.ParentNode.RemoveChild(node);
}
但是,由于 HTML 不是完整的文档,段落标签没有父节点,RemoveChild
因此会因为ParentNode
为空而失败。
我找不到另一种删除标签的方法,任何人都可以指出另一种方法吗?