smarty如何利用tidy格式化html代码?
发布于 作者:苏南大叔 来源:程序如此灵动~
苏南大叔已经给大家讲述了,如何利用smarty
,来压缩html
代码。具体见这里,https://newsn.net/say/smarty-compress-html.html 。
事实上,苏南大叔更加喜欢tidy
,使用tidy
来格式化代码。所以这里就又对比写了另外一个功能,就是格式化html
代码再输出。
tidy
效果图。
效果图如下:
相比较html
压缩版本,效果很好吧,html
的可读性非常好。其实可以把tidy
功能用于debug
,把compress
用于生产环境。这个还是个不错的主意。您觉得呢?
下面贴出PHP
代码。
$smarty = new \Smarty;
function tidy_html($html) {
if (!function_exists('tidy_repair_string')) {
return $html;
}
$config = array(
'indent' => true,
'output-xhtml' => true,
'wrap' => 200);
$tidy = new \tidy;
$tidy->parseString($html, $config, 'utf8');
$tidy->cleanRepair();
return $tidy;
}
$smarty->registerFilter("output", "tidy_html");
安装tidy
扩展
注意,这个功能需要开启tidy
扩展,检验是否开启的办法,就是phpinfo()
了。如果你的php
恰巧没有支持tidy
,请参见苏南大叔的其他tidy
安装的文章。https://newsn.net/tag/tidy/ 。


