From 713dda913ef8f3349541da86140e0508bbe737ce Mon Sep 17 00:00:00 2001 From: Vlad Date: Tue, 7 Jun 2016 12:27:40 -0400 Subject: [PATCH] - Fixes rendering issue where DOMDocument throws a notice on unescaped html entity --- lib/Newsletter/Renderer/Renderer.php | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/Newsletter/Renderer/Renderer.php b/lib/Newsletter/Renderer/Renderer.php index 4a0e8ec778..fb547d21c4 100644 --- a/lib/Newsletter/Renderer/Renderer.php +++ b/lib/Newsletter/Renderer/Renderer.php @@ -60,16 +60,16 @@ class Renderer { switch($selector) { case 'text': $selector = 'td.mailpoet_paragraph, td.mailpoet_blockquote, li.mailpoet_paragraph'; - break; + break; case 'body': $selector = 'body, .mailpoet-wrapper'; - break; + break; case 'link': $selector = '.mailpoet-wrapper a'; - break; + break; case 'wrapper': $selector = '.mailpoet_content-wrapper'; - break; + break; } $css .= StylesHelper::setStyle($style, $selector); } @@ -92,12 +92,16 @@ class Renderer { } function postProcessTemplate($template) { - // replace all !important tags except for in the body tag $DOM = $this->DOM_parser->parseStr($template); $template = $DOM->query('.mailpoet_template'); + // replace all !important tags except for in the body tag $template->html( str_replace('!important', '', $template->html()) ); + // encode ampersand + $template->html( + str_replace('&', '&', $template->html()) + ); $template = apply_filters( 'mailpoet_rendering_post_process', $DOM->__toString()