【发布时间】:2012-03-14 02:18:53
【问题描述】:
用户通过文本编辑器输入内容,最后提交到数据库。 在存储到数据库之前,我想在开始和结束时删除内容中的空行(中间不能删除)。
我想使用 JavaScript 和 C#
示例内容为:
<div>
<p><span><br></span></p>
<span>a<br/>bc</span>
<p>te<br>st</p>
<p>\n<span>\n</span></p>
<p><span><br/></span></p>
</div>
我需要的是:
<div>
<span>a<br/>bc</span>
<p>te<br>st</p>
</div>
谁能帮帮我?
【问题讨论】:
-
<p>标签是否总是在<span>标签之外?你甚至可以依靠用户输入标签来平衡吗?在您的“示例内容”中,\n的行会在一个(文本)行上,还是在输入字符串中实际上有换行符? -
@mathematical.coffee \n 和
(或
)由文本编辑器创建 -
那么,你想使用 JavaScript 还是 C#?使用 C# 最简单的方法是使用 HTML 解析器并遍历生成的树以查找相邻的空节点。正则表达式在这里帮不了你。
-
我们只需要添加这个链接:stackoverflow.com/questions/1732348/…
-
考虑使用 DOM 树并递归遍历所有节点,删除那些仅包含空格的节点 (C#
string.IsNullOrWhiteSpace(node.InnerText)),然后就完成了。浏览器中的 Javascript DOM 或 C# 中的 HTML Agility Pack 都可以让您这样做。
标签: c# javascript regex dom html-agility-pack