Reputation: 608
does anyone has an idea about replace css styles into style attribute on html tags example you have css file, html file
css:
#example { color: #CCC; font-weight: bold; }
html:
<div id="example">Example</div>
and you will have this when you run php
<div style="color: #CCC; font-weight: bold;">Example</div>
why oh why :)
some work need inline styles for some system that doesn't support <link>, <style> or script tags
example:
E-mail template (all of you can not insert <link>, <style>, <script> inside the email right ?),
or build HTML for insert in another system (product detail in amazon.com, ...)
Upvotes: 2
Views: 693
Reputation: 18445
You probably need to use a DOM parser, take a look at SimpleHTMLDom. Here's an example:
// Assuming that it's an array of styles
// keyed by HTML element IDs or classes.
// @see http://www.google.com/search?q=php+css+parser
$styles = some_php_css_parser('example.css');
// Create a DOM object
$html = new simple_html_dom();
// Load HTML from a HTML file,
// there are also other options, @see API.
$html->load_file('test.htm');
// Walk through the target elements.
foreach ($html->find('blah') as $element) {
$element->style = $styles[$element->id];
}
// Cache and output...
Also you need to consider caching the output, otherwise I also say so, but why oh why!
Upvotes: 3
Reputation:
explode the css file, extract the attribute\css, str_replace the attribute with the css in the html, but why oh why.
Upvotes: 0