一些网站源代码被压缩并在一行中。 我想要默认的 HTML 结构。我可以使用终端吗? 我想用 wget 命令来做到这一点。 我使用在线工具textFixer。但我想用终端来做。
我希望使用终端或脚本将一行文本转换为默认 HTML 结构。
是一行压缩源代码的示例。
我想要一行源代码来默认 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/