PHP code example of bradietilley / laravel-css-inliner
1. Go to this page and download the library: Download bradietilley/laravel-css-inliner library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
bradietilley / laravel-css-inliner example snippets
use BradieTilley\LaravelCssInliner\Facades\CssInline;
CssInline::addCssPath(resource_path('css/email.css'));
CssInline::addCssRaw('body { background: #eee; }');
# Or, you can achieve the same outcome by letting CssInline decide whether it's a path or raw CSS:
CssInline::addCss(resource_path('css/email.css'));
CssInline::addCss('body { background: #eee; }');
use BradieTilley\LaravelCssInliner\Facades\CssInline;
use Symfony\Component\Mime\Email;
CssInline::addCss('.font-bold { font-weight: bold; }');
# Convert an HTML string
$html = CssInline::convert('<html><body><div class="font-bold">Bold</div></body></html>');
echo $html; // <html><body><div class="font-bold" style="font-weight: bold;">Bold</div></body></html>
# Convert an email
$email = new Email();
$email->html('<html><body><div class="font-bold">Bold</div></body></html>');
CssInline::convertEmail($email);
echo $email->getHtmlBody(); // <html><body><div class="font-bold" style="font-weight: bold;">Bold</div></body></html>
use BradieTilley\LaravelCssInliner\Facades\CssInline;
CssInline::emailListenerEnabled(); // Current state: true or false
CssInline::enableEmailListener(); // Enables option; returns instance of CssInliner
CssInline::disableEmailListener(); // Disables option; returns instance of CssInliner
use BradieTilley\LaravelCssInliner\Facades\CssInline;
CssInline::cssFromHtmlContentEnabled(); // Current state: true or false
CssInline::enableCssExtractionFromHtmlContent(); // Enables option; returns instance of CssInliner
CssInline::disableCssExtractionFromHtmlContent(); // Disables option; returns instance of CssInliner
use BradieTilley\LaravelCssInliner\Facades\CssInline;
CssInline::cssRemovalFromHtmlContentEnabled(); // Current state: true or false
CssInline::enableCssRemovalFromHtmlContent(); // Enables option; returns instance of CssInliner
CssInline::disableCssRemovalFromHtmlContent(); // Disables option; returns instance of CssInliner
use BradieTilley\LaravelCssInliner\Facades\CssInline;
CssInline::doSomething();
CssInliner::addCssPath(resource_path('css/email.css'));
CssInliner::addCssRaw('.text-success { color: #00ff00; }');
# Convert your own HTML/CSS
$html = '<span class="text-success">Success text</span>';
$html = CssInliner::convert($html);
echo $html; // <span class="text-success" style="color: #00ff00;">Success text</span>
CssInliner::beforeConvertingEmail(function (PreEmailCssInlineEvent $event) {
# You have access to the unconverted-Email and CSS Inliner instance via the event
$event->email; // instanceof: \Symfony\Component\Mime\Email
$event->cssInliner; // instanceof BradieTilley\LaravelCssInliner\CssInliner
echo $event->email->getHtmlBody(); // <html>...</html>
# Because this is a 'before' event, you may choose to halt the conversion of this *one* Email
return $event->cssInliner->halt();
# Laravel will halt any other event listeners; CSS Inliner will return the Email immediately (and not convert it)
});
CssInliner::beforeConvertingHtml(function (PreCssInlineEvent $event) {
# You have access to the unconverted-HTML and CSS Inliner instance via the event
$event->html; // string
$event->cssInliner; // instanceof BradieTilley\LaravelCssInliner\CssInliner
echo $event->html; // <html>...</html>
# Because this is a 'before' event, you may choose to halt the conversion of this *one* HTML string
return $event->cssInliner->halt();
# Laravel will halt any other event listeners; CSS Inliner will return the HTML immediately (and not convert it)
});
CssInliner::afterConvertingHtml(function (PostCssInlineEvent $event) {
# You have access to the converted-HTML and CSS Inliner instance via the event
$event->html; // string
$event->cssInliner; // instanceof BradieTilley\LaravelCssInliner\CssInliner
echo $event->html; // <html>...</html>
# Because this is an 'after' event, you cannot halt the conversion of the HTML string (unlike the 'before' event)
});
CssInliner::afterConvertingEmail(function (PostEmailCssInlineEvent $event) {
# You have access to the converted-Email and CSS Inliner instance via the event
$event->email; // instanceof: \Symfony\Component\Mime\Email
$event->cssInliner; // instanceof BradieTilley\LaravelCssInliner\CssInliner
echo $event->email->getHtmlBody(); // <html>...</html>
# Because this is an 'after' event, you cannot halt the conversion of the Email (unlike the 'before' event)
});
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.