防止添加html标签整洁

Ant*_*oCS 14 html php forms tidy

我有一个类生成一些html(表单元素和表元素),但这个类返回一行中的所有html.

所以我试图使用整洁来美化代码(缩进代码,放置换行符等),我遇到的唯一问题是也生成我不想要的标签.

这是代码:

tidy_parse_string(
                    $table->getHtml(),
                    array(
                            'DocType' => 'omit',
                            'indent' => true,
                            'indent-spaces' => 4,                                    
                            'wrap' => 0                                    
                        )
                );
Run Code Online (Sandbox Code Playgroud)

我发现删除额外的html标签的唯一方法是添加一个str_replace,如下所示:

str_replace(array('<html>','</html>','<body>','</body>','<head>','</head>','<title>','</title>'),'', code);
Run Code Online (Sandbox Code Playgroud)

哪个有用,但我真的在跳,有一种方法可以告诉整洁只是美化代码而不是插入额外的代码.

Vol*_*erK 31

试试show-body-only选项.

例如

$s = '<form method="post" action="?"><table><tr><td><input tpye="submit"></table>';
echo tidy_parse_string($s, array('show-body-only'=>true, 'indent'=>true));
Run Code Online (Sandbox Code Playgroud)

版画

<form method="post" action="?">
  <table>
    <tr>
      <td>
        <input tpye="submit">
      </td>
    </tr>
  </table>
</form>
Run Code Online (Sandbox Code Playgroud)

(字符串已修复并缩进但未添加html/body包装器).可以与output-xhtml选项结合使用,在这种情况下也可以为空输入元素添加斜杠.

  • 如果我想加载 HTML 但通过 XML 显示怎么办?output-xml=true 所以 show-body-only 不起作用。这种情况怎么办? (2认同)