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

时间:2013-04-12 23:38:01

标签: javascript jquery html node.js dom

我需要在服务器端处理“脏”的html数据。当我在服务器端使用Node.JS 和jQuery 时,我可以使用JS和jQuery DOM解析器的所有功能来处理我的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();

但是,如果帖子开始形式

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

“&lt; a href =”http:// habrahabr ...“之前的所有内容都已删除。

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

P.S。不想使用简单的正则表达式,因为在如此脏的内容中可能会发生很多不同的情况

2 个答案:

答案 0 :(得分:3)

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

此插件执行以下操作:

  • 修复自闭标签
  • 小写标签
  • 删除非标准属性
  • 删除内嵌样式属性
  • 删除内联事件属性
  • 可选择删除其他属性
  • 整理不必要的空白区域和新线条
  • 删除评论
  • 删除专有字格式标记
  • 替换标签,例如I =&GT; EM
  • 可选择保留css类
  • 格式和缩进html

不幸的是我找不到任何其他东西。我觉得我必须说可能有必要写一些正则表达式来完成你正在寻找的东西。

答案 1 :(得分:0)

总之,这里有一个叫js-beautify的人。这将美化Javascript,HTML,CSS和JSON。