summaryrefslogtreecommitdiff
path: root/program/lib/Roundcube/rcube_washtml.php
diff options
context:
space:
mode:
authorrodrigo <rodrigo@corp.sonic.net>2013-07-24 14:52:45 -0700
committerrodrigo <rodrigo@corp.sonic.net>2013-07-24 14:52:45 -0700
commitb6a640bdc973efd8a50a0f91e02a3392759dbfda (patch)
treea0e84f62f94ca5a87c0bf9800558cdc1b11dd356 /program/lib/Roundcube/rcube_washtml.php
parenta6339fc491d263d09850baf52230474e59274d7f (diff)
replaces smart quotes with regular quotes. Fixes improper doctype declarations in html emails
Diffstat (limited to 'program/lib/Roundcube/rcube_washtml.php')
-rw-r--r--program/lib/Roundcube/rcube_washtml.php19
1 files changed, 19 insertions, 0 deletions
diff --git a/program/lib/Roundcube/rcube_washtml.php b/program/lib/Roundcube/rcube_washtml.php
index 6b2efcc78..8f7fe9749 100644
--- a/program/lib/Roundcube/rcube_washtml.php
+++ b/program/lib/Roundcube/rcube_washtml.php
@@ -410,6 +410,25 @@ class rcube_washtml
);
$html = preg_replace($html_search, $html_replace, trim($html));
+ //-> Replace all of those weird MS Word quotes and other high characters
+ $badwordchars=array(
+ "\xe2\x80\x98", // left single quote
+ "\xe2\x80\x99", // right single quote
+ "\xe2\x80\x9c", // left double quote
+ "\xe2\x80\x9d", // right double quote
+ "\xe2\x80\x94", // em dash
+ "\xe2\x80\xa6" // elipses
+ );
+ $fixedwordchars=array(
+ "'",
+ "'",
+ '"',
+ '"',
+ '&mdash;',
+ '...'
+ );
+ $html = str_replace($badwordchars,$fixedwordchars, $html);
+
// PCRE errors handling (#1486856), should we use something like for every preg_* use?
if ($html === null && ($preg_error = preg_last_error()) != PREG_NO_ERROR) {
$errstr = "Could not clean up HTML message! PCRE Error: $preg_error.";