我有一个生成一些html(表单元素和表元素)的类,但是这个类在一行中返回所有html。
所以我试图使用整洁来美化代码(缩进代码,放置换行符等),我遇到的唯一问题是还生成了我不想要的标签。
以下是代码:
tidy_parse_string(
$table->getHtml(),
array(
'DocType' => 'omit',
'indent' => true,
'indent-spaces' => 4,
'wrap' => 0
)
);
我发现删除额外html标签的唯一方法是添加一个str_replace,如下所示:
str_replace(array('<html>','</html>','<body>','</body>','<head>','</head>','<title>','</title>'),'', code);
哪个有效,但我真的在跳,有一种方法可以告诉整洁只是美化代码而不是插入额外的代码。
答案 0 :(得分:29)
尝试show-body-only选项。
e.g。
$s = '<form method="post" action="?"><table><tr><td><input tpye="submit"></table>';
echo tidy_parse_string($s, array('show-body-only'=>true, 'indent'=>true));
打印
<form method="post" action="?">
<table>
<tr>
<td>
<input tpye="submit">
</td>
</tr>
</table>
</form>
(字符串已修复并缩进但未添加html / body包装器)。 可以与output-xhtml选项结合使用,在这种情况下,它还会为空输入元素添加斜杠。