html - 使用终端解压缩 html 源代码

标签 html linux bash terminal

一些网站源代码被压缩并在一行中。 我想要默认的 HTML 结构。我可以使用终端吗? 我想用 wget 命令来做到这一点。 我使用在线工具textFixer。但我想用终端来做。

我希望使用终端或脚本将一行文本转换为默认 HTML 结构。

http://www.sawfirst.com/

是一行压缩源代码的示例。

我想要一行源代码来默认 HTML 结构。

最佳答案

如果你能够使用 php,你可以做类似的事情

curl URL | php -r '$s = ""; while($l = fgets(STDIN)) {$s .= $l;} $x=new DOMDocument(); $x->loadHTML($s); $x->preserveWhiteSpace = false; $x->formatOutput = true; echo $x->saveHTML();'

saveHTML 似乎不会插入前导空格(以改进缩进),但 saveXML 会插入,因此您可以使用 $x->saveXML() 代替。

这很可能会导致许多警告,因此您可能需要将其更改为:

curl URL | php -r 'error_reporting(E_ERROR); $s = ""; while($l = fgets(STDIN)) {$s .= $l;} $x=new DOMDocument(); $x->loadHTML($s); $x->preserveWhiteSpace = false; $x->formatOutput = true; echo $x->saveXML();'

当然,您可以在 $PATH 中提供脚本以使其更简单

#!/usr/bin/env php
<?php

error_reporting(E_ERROR);

$input = call_user_func(function(){
    $lines = [];
    while ($line = fgets(STDIN)) {
        $lines[] = $line;
    }
    return implode("\n", $lines);
});

$domDocument = new DomDocument();
$domDocument->preserveWhiteSpace = false;
$domDocument->formatOutput = true;
$domDocument->loadHTML($input);

echo $domDocument->saveXML();

并将该文件保存到例如 /usr/local/bin/phphtmltidy 并使其可执行(sudo chmod +x/usr/local/bin/phphtmltidy)

然后你可以简单地:

curl URL | phphtmltidy

当然,您也可以使用节点作为解释器并使用像 this one 这样的库。

关于html - 使用终端解压缩 html 源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49046772/

相关文章:

bash - 不是空文件,但 "wc -l"输出 0

html - 文本在 html 中围绕多边形边缘流动

javascript - 字符串作为 &#34 从 Python Flask 传递到 HTML 页面

linux - 将大文件分割成小文件的更快方法?

linux - Linux中根据时间对文件进行排序

linux - 编写脚本以使用预定义密码创建多个用户

bash - Gzip:将一组小文件(<64mb)合并为几个大文件(64mb或128mb)

javascript - 如何制作一个输入文件到dataurl以供使用?

jquery - 如何在相关的复选框操作中解决一个确切的元素(来自具有相同类的多个元素)?

c - 使用 linux 宏 access_ok() 有什么意义