Я использую PHP аккуратного, чтобы очистить пользовательский HTML-страницу, которая содержит тег стиля:Предотвращение PHP Tidy от преобразования данных типа тегов в CDATA
<style type="text/css">
body {
padding-top: 60px;
padding-bottom: 40px;
}
</style>
Но когда я запускаю Tidy, данные стиль тег является преобразован в CData. Моя основная цель использования Tidy - отремонтировать файл, а также сделать правильный отступ.
<style type="text/css">
/*<![CDATA[*/
body {
padding-top: 60px;
padding-bottom: 40px;
}
/*]]>*/
</style>
Моей Tidy варианта конфигурация является -
$options = array(
'preserve-entities' => true,
'hide-comments' => true,
'tidy-mark' => false,
'indent' => true,
'indent-spaces' => 4,
'new-blocklevel-tags' => 'article,header,footer,section,nav',
'new-inline-tags' => 'video,audio,canvas,ruby,rt,rp',
'doctype' => 'omit',
'sort-attributes' => 'alpha',
'vertical-space' => false,
'output-xhtml' => true,
'wrap' => 180,
'wrap-attributes' => false,
'break-before-br' => false,
'vertical-space' => false,
);
$buffer = tidy_parse_string($buffer, $options, 'utf8');
tidy_clean_repair($buffer);
Я попытался найти много но Tidy библиотеку PHP не совсем «хорошо документирован» один! Таким образом, он спустился на удаление CDATA вручную после того, как Tidy очистит/отремонтирует код.
$buffer = str_replace("/*<![CDATA[*/","",$buffer);
$buffer = str_replace("/*]]>*/","",$buffer);
Теперь моя проблема с этим подходом является то, что отступ данных стиль тега еще облажался (не точно совмещена с остальной частью страницы)
<style type="text/css">
body {
padding-top: 60px;
padding-bottom: 40px;
}
</style>
Так же, как Я запрещаю TIDY создавать CDATA на странице!
Большое спасибо!
ahhhh Я не могу поверить, что я сделал это ... часами на этом! Большое спасибо :) –
На сегодняшний день OP должен * both * деактивировать ['output-xhtml'] (http://tidy.sourceforge.net/docs/quickref.html#output-xhtml) ** и ** активировать ['output-html'] (http://tidy.sourceforge.net/docs/quickref.html#output-html), т. е. имеет' 'output-xhtml '=> false' и'' output-html '= > true' (проверено с помощью HTML HTML Tidy для Linux версии 5.4.0 '). –