From af79a7b837151af793b5bd2788de3635ab96b1e3 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Fri, 4 Oct 2013 09:40:37 +0200 Subject: Fixed issues where HTML comments inside style tag would hang Internet Explorer --- program/lib/Roundcube/rcube_utils.php | 8 ++++---- program/lib/Roundcube/rcube_washtml.php | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'program/lib') diff --git a/program/lib/Roundcube/rcube_utils.php b/program/lib/Roundcube/rcube_utils.php index 50ac850fc..c1ad3823b 100644 --- a/program/lib/Roundcube/rcube_utils.php +++ b/program/lib/Roundcube/rcube_utils.php @@ -477,9 +477,9 @@ class rcube_utils // remove html comments and add #container to each tag selector. // also replace body definition because we also stripped off the tag - $styles = preg_replace( + $source = preg_replace( array( - '/(^\s*\s*$)/', + '/(^\s*<\!--)|(-->\s*$)/m', '/(^\s*|,\s*|\}\s*)([a-z0-9\._#\*][a-z0-9\.\-_]*)/im', '/'.preg_quote($container_id, '/').'\s+body/i', ), @@ -491,9 +491,9 @@ class rcube_utils $source); // put block contents back in - $styles = $replacements->resolve($styles); + $source = $replacements->resolve($source); - return $styles; + return $source; } diff --git a/program/lib/Roundcube/rcube_washtml.php b/program/lib/Roundcube/rcube_washtml.php index a42b61aac..e7467545f 100644 --- a/program/lib/Roundcube/rcube_washtml.php +++ b/program/lib/Roundcube/rcube_washtml.php @@ -455,7 +455,7 @@ class rcube_washtml } // fix (unknown/malformed) HTML tags before "wash" - $html = preg_replace_callback('/(<[\/]*)([^\s>]+)/', array($this, 'html_tag_callback'), $html); + $html = preg_replace_callback('/(<(?!\!)[\/]*)([^\s>]+)/', array($this, 'html_tag_callback'), $html); // Remove invalid HTML comments (#1487759) // Don't remove valid conditional comments -- cgit v1.2.3