RegEx是否可以清除HTML中的空格?
例如:
<p><b>foo</b> <i>bar</i></p>
<p>foo</p> <p>bar</p>
在第一行,结束b和开始i标记之间的空格是有效的(尽管它可能是
),但是在第二行,它是我希望清理的空白,因为它应该是没有任何语义价值。
使用DOM遍历可能会更好地解决这个问题吗?
答案 0 :(得分:5)
像HTML Tidy这样的东西似乎更适合你正在寻找的东西 - 而不是需要重新创建所有可能复杂的规则(例如你的第一个空格是重要的,但是不是第二个,等等。)
否则,我同意 - DOM遍历将比正则表达式更好 - 特别是如果您的HTML已经符合XHTML并且可以轻松地以XML格式遍历。
答案 1 :(得分:0)
首先我要引用;) “要求正则表达式解析任意HTML就像要求Paris Hilton编写操作系统” 然后回到业务。 你可以尝试不同的正则表达式标签(虽然,我怀疑这是有效的方法):
sed -e 's/<p>\ </<p></g'
删除<p>(whitespace)<(whatever_tag)
空格。
否则,我也同意DOM遍历。