我有一些HTML输出放在一个变量中,我想对其进行美化/美化,但是很难从Web搜索的结果中弄清楚。
我发现的大多数选项(例如PerlTidy(甚至不确定它是否是正确的选项))似乎都假定HTML位于文件中,但就我而言,它已被放到Perl脚本中并存储在变量中,并且我只是想解决此问题,方法是删除多余的换行符并缩进,然后在发送到输出之前将其保存到另一个变量中。
寻找类似的东西
$output= SomePerlModule::Prettify($HTML);
我希望可以将其添加到退出脚本中。
如果它还可以删除孤立的结束标签,将是一个奖励。基本上,我有一些结束标签,例如没有开始标签,尽管浏览器似乎可以处理这些标签,但最好将它们剥离掉。
有这样的模块吗?
最佳答案
HTML::Tidy确实做到了:
#!/usr/bin/perl
use strict;
use warnings;
use HTML::Tidy;
my $str = '<div><p>Text<h2>Heading</h2>';
my $tidy = 'HTML::Tidy'->new;
print $tidy->clean($str);
输出
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content="tidyp for Linux (v1.04), see www.w3.org">
<title></title>
</head>
<body>
<div>
<p>Text</p>
<h2>Heading</h2>
</div>
</body>
</html>
关于perl - 美化/美化Perl中的HTML,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29316121/