一些网站源代码被压缩并在一行中。我希望在默认的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();
并将该文件保存为例如qazxsw poi并使其可执行(qazxsw poi)
然后你可以简单地说:
/usr/local/bin/phphtmltidy
当然你也可以使用node作为解释器并使用像sudo chmod +x /usr/local/bin/phphtmltidy
这样的库