使用JavaScript整理HTML输出

6
我有一大块 HTML 代码,为了适应某个容器,我将 HTML(而不仅仅是文本)裁剪到了200个字符。显然,在这种情况下,一些标签将保持未关闭状态。是否有一种方法,在没有服务器参与的情况下清理这样的裁剪片段,除了自己编写清理程序之外?
可以使用具有公共 API 的在线服务来进行处理。
2个回答

2
你可以尝试使用cutter.js库。这个库很新,所以我没听说过太多关于它的事情,但是从剪裁方面来看,它似乎符合你的需求。
可以查看我的fiddle测试它的效果: http://jsfiddle.net/JKirchartz/jwL8v/
var oElement = document.getElementById("test");
Cutter.run(oElement, oElement, 100);

$("#gc").click(function(){
    /* This will count words by spaces in the text */
    var tt = $("#test").text().split(" ");
    if (typeof(console) == 'object'){    
        console.log(tt);
    }
    alert("wordcount: "+tt.length);
     
});

cutter.js看起来很有前途。感谢提供链接。虽然我尝试过使用你的fiddle,但我发现nWords参数(在你的示例中为100)绝对不可靠。当我将其设置为1时,我会得到整个文本。当我将其设置为10时,我只得到标题。57给我的文本比60多得多,等等。也许我需要更多地尝试,但这是一个好的开始。谢谢! - spliter
我已经在fiddle上更新了一个基本的单词计数器,但数字有些奇怪。正如我所说,这是一个新的插件,因此可能需要几次更新才能完美无缺。 - JKirchartz
我想提一下,Cutter已经在Github上了,所以如果你愿意,你可以fork它,修改代码并为项目做出贡献。社区非常棒。 - JKirchartz

0
Google Closure库有一个HTML漂亮打印模块。您应该能够从中分叉:
Closure Library
此外,如果您正在使用jQuery,请尝试HTML Beautifier jQuery插件。

谢谢提供链接。但我并不需要一个美化工具。HTML可以非常丑陋,除非它被裁剪并且所有的裁剪标签都被关闭。 - spliter
第二个链接似乎已经失效(超时):“504错误。请求无法满足。” - Peter Mortensen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接