Sto usando php ordinata per pulire un user generated pagina HTML che contiene un tag di stile:Impedire PHP Tidy di convertire i dati dei tag di stile per CDATA
<style type="text/css">
body {
padding-top: 60px;
padding-bottom: 40px;
}
</style>
Ma una volta che ho eseguito il Tidy, i dati tag di stile è convertito in CData. Il mio scopo principale di usare Tidy è riparare il file e fare il rientro corretto.
<style type="text/css">
/*<![CDATA[*/
body {
padding-top: 60px;
padding-bottom: 40px;
}
/*]]>*/
</style>
mie opzioni di configurazione sono ordinate -
$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);
Ho provato a cercare un sacco ma la biblioteca Tidy PHP non è esattamente uno "ben documentato"! Quindi è venuto giù per rimuovere il CDATA manualmente dopo che Tidy pulisce/ripara il codice.
$buffer = str_replace("/*<![CDATA[*/","",$buffer);
$buffer = str_replace("/*]]>*/","",$buffer);
Ora il mio problema con questo approccio è che il rientro dei dati tag di stile è ancora avvitato (non esattamente allineata con il resto della pagina)
<style type="text/css">
body {
padding-top: 60px;
padding-bottom: 40px;
}
</style>
Così ancora una volta, come si fa Impedisco a TIDY di creare CDATA sulla pagina!
Grazie mille!
ahhhh non posso credere di averlo fatto ... passare ore su questo !! Grazie mille :) –
Ad oggi OP dovrebbe * entrambi * desattivare ['output-xhtml'] (http://tidy.sourceforge.net/docs/quickref.html#output-xhtml) ** e ** attivare ['output-html'] (http://tidy.sourceforge.net/docs/quickref.html#output-html), cioè,' 'output-xhtml '=> false' e'' output-html '= > true' (testato con 'HTML Tidy per Linux versione 5.4.0 '). –