任何基于JavaScript / jQuery的html数据处理器/美化器?

我需要在服务器端处理“脏”的html数据。 因为我在服务器端使用Node.JS 和jQuery ,所以我可以使用JS和jQuery DOMparsing器的所有function来处理我的html内容。

“脏”数据表示如下:

<br ><br />Home <a href="http://habrahabr.ru/post/169139/"> gamy code </ a> <br> Technique: <a href="http://habrahabr.ru/post/173903/"> Preparation methods </ a> <br> <br> In continuation, the technique based on the book Refactoring Refactoring <a href="http://www.ozon.ru/context/detail/id/1308678/">. Improvement of existing code by Martin Fowler. </ A> <br>  <a href="http://habrahabr.ru/post/174779/#habracut"> Read more → </ a> 

所以,它可能在开始/中间有几个br,空p等等,我试过使用

 $('*:empty').remove(); 

但是,如果post开始forms

 Home <a href="http://habrahabr.ru/post/169139/"> gamy code </ a> <br> 

“<a href =”http:// habrahabr …“之前的所有内容都将被删除。

那么,是否有任何可靠的生产就绪的基于JS / jQuery的解决scheme来美化html数据,以删除中间的开始/双重页/ p的空标签等?

PS不想使用简单的正则expression式,因为在如此脏的内容中可能会发生这么多不同的情况

有一个名为jQuery-Clean的插件,在这种情况下可能会有所帮助: https : //code.google.com/p/jquery-clean/

这个插件执行以下操作:

  • 修复自我closures标签
  • 小写标签
  • 删除非标准属性
  • 删除内联样式属性
  • 删除内联事件属性
  • 可选地删除其他属性
  • 整理不必要的空白和新的线条
  • 删除评论
  • 删除专有的字格式标签
  • replace标签,例如i => em
  • 可选地离开CSS类
  • 格式和缩进html

不幸的是,我无法find其他任何东西。 我觉得我必须说,可能有必要写一些正则expression式来完成你要找的东西。

总的来说,这里有一个叫js-beautify 。 这将美化JavaScript,HTML,CSS和JSON。