使用RegEx从HTML清除空格

时间:2011-12-23 15:12:54

标签: javascript html regex

RegEx是否可以清除HTML中的空格?

例如:

<p><b>foo</b> <i>bar</i></p>
<p>foo</p> <p>bar</p>

在第一行,结束b和开始i标记之间的空格是有效的(尽管它可能是&nbsp;),但是在第二行,它是我希望清理的空白,因为它应该是没有任何语义价值。

使用DOM遍历可能会更好地解决这个问题吗?

2 个答案:

答案 0 :(得分:5)

HTML Tidy这样的东西似乎更适合你正在寻找的东西 - 而不是需要重新创建所有可能复杂的规则(例如你的第一个空格是重要的,但是不是第二个,等等。)

否则,我同意 - DOM遍历将比正则表达式更好 - 特别是如果您的HTML已经符合XHTML并且可以轻松地以XML格式遍历。

答案 1 :(得分:0)

首先我要引用;) “要求正则表达式解析任意HTML就像要求Paris Hilton编写操作系统” 然后回到业务。 你可以尝试不同的正则表达式标签(虽然,我怀疑这是有效的方法):

sed -e 's/<p>\ </<p></g'

删除<p>(whitespace)<(whatever_tag)空格。

否则,我也同意DOM遍历。