Php 防止tidy添加html标记
我有一个生成一些html(表单元素和表元素)的类,但是这个类在一行中返回所有html 因此,我尝试使用tidy来美化代码(缩进代码、放换行符等),唯一的问题是生成我不想要的标记 代码如下:Php 防止tidy添加html标记,php,html,forms,tidy,Php,Html,Forms,Tidy,我有一个生成一些html(表单元素和表元素)的类,但是这个类在一行中返回所有html 因此,我尝试使用tidy来美化代码(缩进代码、放换行符等),唯一的问题是生成我不想要的标记 代码如下: tidy_parse_string( $table->getHtml(), array( 'DocType' => 'omit',
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);
stru替换(数组(“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、代码);
这是可行的,但我真的很想知道有没有一种方法可以告诉tidy只是美化代码,而不是插入额外的代码。试试这个选项
e、 g
$s='';
echo tidy_parse_字符串($s,数组('show-body-only'=>true,'indent'=>true));
印刷品
<form method="post" action="?">
<table>
<tr>
<td>
<input tpye="submit">
</td>
</tr>
</table>
</form>
(字符串已修复并缩进,但未添加html/正文包装)。
可以与选项结合使用,在本例中,该选项还将为空输入元素添加斜杠 真不敢相信我错过了那个选择。谢谢亲爱的上帝。这正是我所需要的,但我从来没有从选项的名称甚至描述中猜到它!如果我想加载HTML,但用XML显示它呢?output xml=true,因此仅显示正文不起作用。那样的话怎么办?
<form method="post" action="?">
<table>
<tr>
<td>
<input tpye="submit">
</td>
</tr>
</table>
</form>