【问题标题】:Use JQuery to minify HTML使用 JQuery 缩小 HTML
【发布时间】:2015-01-01 15:14:41
【问题描述】:

我正在使用 asppdf 从 HTML 创建 PDF。

在传递给 ImportFromUrl 方法之前,您的 HTML 似乎需要在一行中删除所有空格,这是来自支持站点的示例:

str = "<HTML><TABLE><TR><TD>Text1</TD><TD>Text2</TD></TR></TABLE></HTML>"
Doc.ImportFromUrl str 

目前我的 HTML 是从外部页面中提取的,并且都已格式化,所以我需要它像上面的示例一样。我可以使用 jQuery 来做到这一点吗?

参考http://www.asppdf.com/manual_13.html#13_5

【问题讨论】:

  • 本例中的“你的”是谁?你在哪里说“你的 HTML”?
  • @George 包含空格的文本节点怎么办?
  • 函数名是ImportFromUrl。你不应该传递一个url而不是一个HTML字符串吗?
  • @Vohuman 不,它也接受 HTML
  • "从 Service Release 1.6.0.8 开始,ImportFromUrl 方法允许您直接通过第一个参数 (URL) 指定 HTML 字符串。该字符串必须包含子字符串

标签: jquery html


【解决方案1】:

您可以为此使用 jquery 代码:

  str = str.replace(/\s+/g, '');

【讨论】:

  • 谢谢,但这也会替换标签内的所有空格,就像这样...
  • 请参考链接:link
【解决方案2】:

仅将此正则表达式用于空格:

var HTML = "<h1>hh ee</h1>     <h2>heyy  heyyy</h2>";
document.getElementById("after").innerText = HTML.replace(/>[ ]+</g, "><");
document.getElementById("before").innerText = HTML;
<h1 id="before"></h1>
Becomes
<h1 id="after"></h1>
这适用于制表符、新行和空格:

var HTML = "<h1>hh ee</h1>    <h2>heyy  heyyy</h2>";
document.getElementById("after").innerText = HTML.replace(/>[\n\t ]+</g, "><");
document.getElementById("before").innerText = HTML;
<h1 id="before"></h1>
Becomes
<h1 id="after"></h1>

【讨论】:

  • 谢谢,这就是我正在寻找的正则表达式!
  • 如果你有&lt;strong&gt;test&lt;/strong&gt; &lt;strong&gt;test2&lt;/strong&gt;,这不是最好的解决方案,因为你突然以testtest2而不是test test2结束。
  • @RandomUser kangax.github.io/html-minifier 理解 HTML,因为它基于实际的 HTML 解析器。虽然比你的正则表达式更重量级:)
  • @RandomUser 如果我知道答案,我会给出的。我只是指出一个可能的缺陷:-)
  • 我的 HTML 几乎是静态的,只有各种元素的 innerHTML 发生变化,所以我对@RandomUser 的解决方案感到满意
【解决方案3】:

我使用正则表达式"someHtml".replace(/\n\s+|\n/g, "")。它并不完美,但它会保持内容完整并删除大部分不必要的空白。

var dom = document.documentElement.outerHTML;
$("body").text(dom.replace(/\n\s+|\n/g, ""));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  lorem ipsum
</div>



<div>
  more text
</div>   <div>
  test 123
</div>

【讨论】:

猜你喜欢
  • 2014-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-06
相关资源
最近更新 更多