如何缩小 HTML 代码?

2023-11-24

我的想法是somehow缩小服务器端的 HTML 代码,以便客户端接收更少的字节。

“缩小”是什么意思?

不拉拉链。更像是 jQuery 创建者所做的.min.js版本。换句话说,我需要删除不必要的空格和换行符,但我无法删除太多 HTML 表示的更改(例如删除段落中实际单词之间的空格)。

有没有什么工具可以做到这一点?我知道有Html净化器。它能做到吗?还有其他选择吗?

附:请不要提供正则表达式。我知道只有 Chuck Norris 可以用它们解析 HTML。 =]


有点晚了,但仍然......通过使用output_buffering,就这么简单:

function compress($string)
{
    // Remove html comments
    $string = preg_replace('/<!--.*-->/', '', $string);

    // Merge multiple spaces into one space
    $string = preg_replace('/\s+/', ' ', $string);   

    // Remove space between tags. Skip the following if
    // you want as it will also remove the space 
    // between <span>Hello</span> <span>World</span>.
    return preg_replace('/>\s+</', '><', $string);      
}

ob_start('compress');

// Here goes your html.    

ob_end_flush();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何缩小 HTML 代码? 的相关文章

  • 正则表达式从 img 标签获取 src 值

    我正在使用以下正则表达式来获取src第一个的值imgHTML 文档中的标签 string match src
  • 如何获取 Spotify API 的访问令牌?

    我已经研究 Spotify api 和示例源代码几天了 但我仍然不知道如何获取访问令牌来访问用户的播放列表数据 我已经到达了拉起登录窗口 用户登录 然后收到授权码的地步 此时 我尝试做这样的事情 window open https acco
  • HTML/CSS:页面左侧的导航栏

    我发现创建这样具有良好语义的布局很尴尬 左侧是大约 150 像素宽的列 其中包含导航元素 我想将网站这部分的 HTML 放在 HTML 代码的开头 然后有一个简单的方法来强制页面的其余部分不侵占左侧的区域 150 像素列 我考虑过一些选择
  • 将 div 附加到另一个 div 的右侧

    我有一个 div 它就像一个容器 里面有 2 个图像 一张图像位于 div 的左侧 另一张图像位于右侧 我的容器是Bootstrap的容器 它们都用 div 包裹 并且div s position is fixed 我的问题是我无法找到要附
  • Flexbox 列的垂直间距相等

    我在CSS中努力让我的Flexbox在垂直等距的列中显示项目 从而使列的每行之间的空间均匀 html body flex container margin 0 height 100 width 100 body font family Dr
  • Rebol / Red Parse html规则返回true但没有插入任何内容

    我有一个返回 true 的解析规则 但它没有按预期插入我的文本 html 未更改 而它应该插入到主结束 div 的末尾 我尝试使用类似的计数器如何使用 REBOL 解析 HTML 标签内部 https stackoverflow com q
  • 如何检查字体是否有符号

    我的文档中有以下 css 规则 font family Trebuchet MS Tahoma 但我发现有些浏览器有 Trebuchet MS 字体没有我需要的符号 某些带有非拉丁字符的语言 在这种情况下 浏览器显示方块而不是符号 我怎样才
  • 将一个 div 垂直居中对齐到另一个 div 中

    说我有 div class outer div class inner some stuff div div 内部 div 具有动态高度 它根据 div 内部的内容而变化 外部 div 只是一个容器 设置为具有窗口的高度 我想将其设置为使内
  • 可编辑的“选择”元素

    我想在表单中有一个选择元素 但除了下拉列表中的选项之外 能够编辑它并添加新选项会很有用 但不能使用另一个输入文本 我需要一次性全部完成 是否可以 没有什么是不可能的 这是一个解决方案 只要
  • 为什么我会收到此 Javascript 运行时错误?

    我的网页上有以下 JavaScript 64 var description new Array 65 description 0 66 description 1 78 function init 79 document getEleme
  • 禁用 Bootstrap 中的链接

    第一个例子没有成功 我需要始终有一个列表来禁用链接 或者我的第一个演示有什么问题 a class disabled href Disabled link a ul class nav nav pills li class disabled
  • 使用日期类型将输入字段中的日期居中

    我想将日期居中input not input inside div 如果我进行居中 它将把日期居中于input因为有一个右侧面板用于根据日历选择日期 该面板根据输入宽度调整大小 用于演示的小代码片段 center text align ce
  • 从 DOM 中删除后,动态添加的 JavaScript 脚本会继续执行

    因此 我正在创建一个 SPA 并使用 AJAX 将 HTML 页面加载到我网站的索引页面中 问题是 当包含我的一个页面时 它似乎会徘 徊并执行其中的 JavaScript 代码 即使它随后从 DOM 中删除 索引 html 正文 div d
  • 如何使用表单上的提交按钮传递参数

    我想创建一个可以更改 PHP 制作的 mySQL 中的产品数据的程序 我有自动递增并指定每个产品的键列 当我单击编辑产品链接时 它将传递我从每个产品获得的键值 并链接到 editPage php Key data Key a href ed
  • 当我“显示:无”一个 SVG 时,另一个(独立的)SVG 会以不同的方式呈现

    我已经伤透了几个小时了 这没有任何意义 我将遇到的问题减少到这个codepen https codepen io Octopous pen OJORpJQ https codepen io Octopous pen OJORpJQ HTML
  • 转换 SVG 过滤器

    我正在尝试创建一个像 SVG 圆圈上的阴影这样的材质设计 我希望当您单击圆圈时 这个阴影能够以良好的过渡来增长 但目前我正在努力弄清楚是否可以为这种过渡设置动画 所以我希望有人能够提供帮助 我添加了一个到目前为止所得到的小例子 一个带有阴影
  • 在IOS中,引导模式中的iframe无法滚动

    我在引导程序模态体内有一个 iframe div class modal fade div class modal dialog div class modal content div class modal header div div
  • 响应式菜单:悬停子菜单显示错误

    简而言之 我根据教程创建了一个响应式菜单 当您将鼠标悬停在投资组合按钮上时 菜单应该显示子菜单 而在移动模式下 您需要按该按钮才能显示子菜单 效果很好 问题是该教程有一个错误 如果您在桌面模式下按组合按钮 子菜单将不会再次显示 除非您按 单
  • 如何仅在第一次访问时弹出模态窗口

    我有一个模式窗口 当您访问某个页面时会弹出 访客必须选择我同意或我不同意 我需要一个漂亮的小 jquery 脚本 它会记住谁之前访问过该页面并同意 这样他们每次访问该页面时就不会弹出模式 有人可以推荐一个好的脚本来使用吗 这是代码 div
  • html 表格顶部对齐?

    我怎样才能让图像和内容向右顶部对齐 如你所见 我尝试了 valign top table border 0 cellspacing 0 cellpadding 0 tbody tr valign top td valign top img

随机推荐

  • CUDA 零复制内存注意事项

    我试图弄清楚使用 cudaHostAlloc 或 cudaMallocHost 是否合适 我正在尝试运行一个内核 其中我的输入数据超过 GPU 上的可用数据量 我的 cudaMallocHost 空间可以大于 GPU 上的空间吗 如果没有
  • 获取数组中具有某些属性的项目数

    我有一系列对象 如下所示 scope students isSelected true isSelected true isSelected false isSelected true isSelected true 我怎样才能得到有的计数
  • JavaScript 中的圆碰撞

    对于学校 我需要用 JavaScript 编写一个程序来判断圆圈是否发生碰撞 它不需要以图形方式显示 我尝试了一下 但我的代码似乎不起作用 我该如何修复它 这是我生成的代码 function collision p1x p1y r1 p2x
  • 根据第一个下拉选择jquery显示第二个下拉选项

    我试图根据第一个下拉列表选择获得第二个下拉列表 我在这里找到了一个很棒的脚本 http jsfiddle net heera Gyaue enter code here 从这篇文章 Jquery 根据第一个下拉列表显示 排序第二个下拉列表
  • random.sample() 每次都返回相同的随机序列?

    我使用 python 的 random sample population k 函数从列表中生成一组随机值 以创建该列表的新排列 问题是每次它运行一个循环时 它都会生成完全一样随机序列 为什么是这样 我什至使用 random seed i
  • For 循环宏在预处理器阶段展开?

    我想使用 gcc 预处理器编写几乎相同的代码声明 500 次 假设出于演示目的 我想使用宏FOR MACRO define FOR MACRO x for i in 1 x const int arr len x i i 并打电话FOR M
  • 如何停止 WebRole/WorkerRole 的单个实例/VM

    我们有一个虚拟机 说 SampleVM 已部署并在 Azure 环境上运行 同时我们创建了 2 个实例 一个是 WebRole 另一个是运行在 Slot staging 上的 WorkerRole 我的问题是我可以通过 powershell
  • asp.net core 中的 csp 报告端点

    我正在尝试在 asp net core web 应用程序中设置 CSP 并且 CSP 部分工作正常 我可以在浏览器控制台中看到违规行为 因为它们被发送到 report uri 端点 但是 我似乎无法在控制器中创建正确的方法来接收这些消息 我
  • 在 C 中生成随机布尔值的简单方法是什么? [复制]

    这个问题在这里已经有答案了 我想生成一个随机布尔值以在游戏中使用 因此它不需要加密安全 我会用stdbool h在我的代码中 我也做了 include
  • TensorFlow:使用 tf.merge_all_summaries() 时出现 PlaceHolder 错误

    我收到占位符错误 我不知道这意味着什么 因为我正确映射sess run y y X X 我在这里提供了一个功能齐全的 MWE 来重现错误 import tensorflow as tf import numpy as np def init
  • 如何使用 ICU 将 Unicode 代码点转换为 C++ 中的字符?

    不知怎的 我在谷歌上找不到答案 我在搜索时可能使用了错误的术语 我正在尝试执行一个简单的任务 将表示字符的数字转换为字符本身 如下表所示 http unicode table com en 0460 例如 如果我的号码是 47 即 我可以将
  • iPhone SDK 上的 sqlite 数据库磁盘映像格式错误

    我在 iPhone SDK 上使用 SQLite 作为数据库后端的新应用程序时遇到问题 有时 我的应用程序会停止将数据加载到 UITableViews 通过管理器下载设备数据库后 我可以通过命令行访问 SQLite 数据库 我可以很好地查询
  • 为什么 Windows 窗体设计器对于 FromArgb 将 int 转换为 byte,然后再转换回 int?

    今天我查看了一些代码 看到了类似以下内容 var colour Color FromArgb int byte 227 int byte 213 int byte 193 当我问为什么会这样时 由于 Resharper 确认所有演员都是多余
  • XPath随机选择一个子节点

    我正在使用 Selenium IDE 进行一些 Web 应用程序测试 并且想引入一些随机性来分散我们的测试 我目前正在使用 SeleniumstoreAttributeValue 您在其中给它一个 XPath 表达式 它会存储与其匹配的第一
  • 为什么这个Python程序不能运行? AttributeError:“模块”对象没有属性

    我写了一个非常简单的Python程序 usr bin env python import random x random uniform 1 1 print str x 我从命令提示符运行它 python random py 它返回错误 T
  • 在 JavaScript 中将两个字节转换为有符号 16 位整数

    在 JavaScript 中 我需要将两个字节转换为 16 位整数 以便可以将音频数据流转换为带符号的 PCM 值数组 大多数将字节转换为 16 位整数的在线答案都使用以下内容 但它不适用于负数 var result byteA 0xFF
  • es6 导入中换行的 JsFormat 规则

    JsFormat for Sublime Text 3 符合大多数 ES6 标准 但是 在自动格式化导入语句时 它会向对象导入添加一个新行 预格式化行如下所示 import func1 func2 func3 from some modul
  • 让移动的矩形更加平滑

    我想让我的矩形的 动画 更加流畅 目前它确实很笨拙 我知道其中的原因 其中一个坐标先于另一个坐标成为所需值 例如 如果我当前位于 0 0 并且需要转到 150 75 并且我每秒均等地递增每个值 则 y 线将比 x 线快得多 var canv
  • 为什么使用 RxJS .asObservable() getter/factory 函数模式?

    在许多使用 RxJS 的代码库中 我似乎遇到了暴露私有的模式Subjects as Observables via a getter或正常getObservable 功能 我的问题不是为什么 asObservable 被使用 但为什么它看起
  • 如何缩小 HTML 代码?

    我的想法是somehow缩小服务器端的 HTML 代码 以便客户端接收更少的字节 缩小 是什么意思 不拉拉链 更像是 jQuery 创建者所做的 min js版本 换句话说 我需要删除不必要的空格和换行符 但我无法删除太多 HTML 表示的