/** * @test */ public function emogrifyAfterDisableInvisibleNodeRemovalPreservesInvisibleElements() { $css = 'div.foo { display: none; }'; $html = $this->html5DocumentType . '<html><body><div class="bar"></div><div class="foo"></div></body></html>'; $this->subject->setHtml($html); $this->subject->setCss($css); $this->subject->disableInvisibleNodeRemoval(); $result = $this->subject->emogrify(); self::assertContains('<div class="foo" style="display: none;">', $result); }
/** * @param string $html * @param string $css * @param bool $keepHiddenNodes * @param bool $disableBackupCssNode * @param bool $disableInlineStyleAttributes * @param bool $appendStylesToHead * @return string */ public function process($html, $css, $keepHiddenNodes = true, $disableBackupCssNode = false, $disableInlineStyleAttributes = false, $appendStylesToHead = false) { $inliner = new Emogrifier($html, $css); if ($keepHiddenNodes) { $inliner->disableInvisibleNodeRemoval(); } if ($disableBackupCssNode) { $inliner->disableBackupCssNode(); } if ($disableInlineStyleAttributes) { $inliner->disableInlineStyleAttributesParsing(); } if ($appendStylesToHead) { $inliner->appendStylesToHead(); } return $inliner->emogrify(); }
/** * Initialize the CSS inliner. */ public function __construct() { $this->inliner = new \Pelago\Emogrifier(); $this->inliner->disableInvisibleNodeRemoval(); }