Extracts CSS from HTML <style>
-Tags
(Also the lamest wordplay I could possibly come up with...)
Install via composer
composer require spazzmarticus/e-css-tractor
//Your HTML-Document with one or more <style>-Tags
$html = '<html><head><style>p { color: blue; }</style></head>...<style>h1 { background-color: green; }</style></html>';
$eCSStractor = new eCSStractor();
$css = $eCCStractor->extract($html);
header("Content-type: text/css");
echo $css;
p { color: blue; }
h1 { background-color: green; }
Check out the example/
directory. The styles from input.html
are extracted in css.php
and used in usage.html
.
This doesn't optimize the styles. GIGO ;)
I built a tool to send newsletters with. The editor for the newsletter-content had to be able to work with multiple templates (each containing unique styles). By extracting the styles from the templates I was able to dynamically change the template for a preview (outside the editor) and the styles in the editor accordingly.
Before sending the newsletter the styles are written inline by emogrifier so there was no need to change anyting.