使用终端解压缩html源代码

问题描述 投票:-1回答:1

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

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

http://www.sawfirst.com/

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

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

html linux bash terminal
1个回答
0
投票

如果你能够利用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();

并将该文件保存为例如qazxsw poi并使其可执行(qazxsw poi)

然后你可以简单地说:

/usr/local/bin/phphtmltidy

当然你也可以使用node作为解释器并使用像sudo chmod +x /usr/local/bin/phphtmltidy这样的库

© www.soinside.com 2019 - 2024. All rights reserved.