-1

如何使用这个 HTMLTidy 类

示例:我想美化$input包含 HTML 的变量。我试过这个:

$input = "<html><head><title>The Last Page of the Internet</title></head><body><center><h1><b><u>Attention:</u></b></h1><p><br><strong>You have reached the very last page of the Internet.</strong></p><p><br><strong>We hope you have enjoyed your browsing.</strong></p><p><br><strong>Now turn off your computer and go outside.</strong></p></center></body></html>";
include ('class.htmltidy.php');
$html = htmltidy($input);
echo $html;

但这行不通。

HTMLTidy 类的源代码可以在这里找到。

4

1 回答 1

0

你说你想“美化”输入的html。没有办法知道这意味着什么。也就是说,我真的不能确切地说出那个 html tidy 类应该做什么。它有一种方法,“解析”。我试过:

$input = "<html><head><title>The Last Page of the Internet</title></head><body><center><h1><b><u>Attention:</u></b></h1><p><br><strong>You have reached the very last page of the Internet.</strong></p><p><br><strong>We hope you have enjoyed your browsing.</strong></p><p><br><strong>Now turn off your computer and go outside.</strong></p></center></body></html>";

$tidy = new htmltidy();
$tidy->parse($input);
print_r($tidy->html);

但收到了几个关于未定义索引的 PHP 通知,并且 html 数组为空。再说一次,我不知道你想做什么。不管是什么,我都会放弃这个 htmltidy 类,因为它似乎包含错误。

现在,如果你想格式化 html 字符串,我推荐php tidy extension。以下是如何使用缩进格式化 html 字符串:

$tidy = tidy_parse_string($input, array(
    'output-html' => true,
    'indent' => true,
));
$tidy->cleanRepair(); //if you might have markup errors
echo $tidy;

有关更多信息,请参阅tidy_parse_string 文档

于 2012-12-01T18:24:58.987 回答