Ich bin mit PHP ordentlich zu reinigen ein Benutzer HTML-Seite erzeugt, die einen Stil-Tag enthält:Prevent PHP Tidy aus der Umwandlung Stil-Tag-Daten zu CDATA
<style type="text/css">
body {
padding-top: 60px;
padding-bottom: 40px;
}
</style>
Aber sobald ich die Tidy laufen, der Stil Tag-Daten in CData konvertiert. Mein Hauptzweck der Verwendung von Tidy ist es, die Datei zu reparieren sowie den richtigen Einzug durchzuführen.
<style type="text/css">
/*<![CDATA[*/
body {
padding-top: 60px;
padding-bottom: 40px;
}
/*]]>*/
</style>
My Tidy Konfigurationsoptionen sind -
$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);
Ich versuchte viel, aber die PHP Tidy-Bibliothek ist die Suche nicht gerade ein "gut dokumentiert" ein! Es ging also darum, die CDATA manuell zu entfernen, nachdem Tidy den Code bereinigt/repariert hat.
$buffer = str_replace("/*<![CDATA[*/","",$buffer);
$buffer = str_replace("/*]]>*/","",$buffer);
Nun ist das mein Problem mit diesem Ansatz ist, dass die Vertiefung der Style-Tages Daten noch geschraubt (nicht exakt mit dem Rest der Seite ausgerichtet)
<style type="text/css">
body {
padding-top: 60px;
padding-bottom: 40px;
}
</style>
Also noch einmal, wie zu tun Ich verhindere, dass TIDY CDATA auf der Seite erstellt!
Vielen Dank!
ahhhh Ich kann nicht glauben, dass ich das getan habe ... verbringe Stunden damit !! Vielen Dank :) –
Ab heute sollte OP * beide * deaktivieren ['output-xhtml'] (http://tidy.sourceforge.net/docs/quickref.html#output-xhtml) ** und ** aktivieren ['output-html'] (http://tidy.sourceforge.net/docs/quickref.html#output-html), dh habe '' output-xhtml '=> false' und'' output-html '= > true' (getestet mit 'HTML Tidy für Linux Version 5.4.0 '). –