У меня есть класс, который генерирует некоторые 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);
Что работает, но я действительно прыгал, было бы способ сказать, чтобы просто покрасить код и не вставлять лишний код.
Попробуйте вариант 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));
печать
<form method="post" action="?"> <table> <tr> <td> <input tpye="submit"> </td> </tr> </table> </form>
(строка была исправлена и отступом, но не добавлена оболочка html / body). Может быть объединен с опцией output-xhtml, которая в этом случае также добавит косую черту для пустого элемента ввода.