|
|
@ -403,16 +403,23 @@ class rcube_washtml |
|
|
|
{ |
|
|
|
// special replacements (not properly handled by washtml class)
|
|
|
|
$html_search = array( |
|
|
|
'/(<\/nobr>)(\s+)(<nobr>)/i', // space(s) between <NOBR>
|
|
|
|
'/<title[^>]*>[^<]*<\/title>/i', // PHP bug #32547 workaround: remove title tag
|
|
|
|
'/^(\0\0\xFE\xFF|\xFF\xFE\0\0|\xFE\xFF|\xFF\xFE|\xEF\xBB\xBF)/', // byte-order mark (only outlook?)
|
|
|
|
'/<html\s[^>]+>/i', // washtml/DOMDocument cannot handle xml namespaces
|
|
|
|
// space(s) between <NOBR>
|
|
|
|
'/(<\/nobr>)(\s+)(<nobr>)/i', |
|
|
|
// PHP bug #32547 workaround: remove title tag
|
|
|
|
'/<title[^>]*>[^<]*<\/title>/i', |
|
|
|
// remove <!doctype> before BOM (#1490291)
|
|
|
|
'/<\!doctype[^>]+>[^<]*/im', |
|
|
|
// byte-order mark (only outlook?)
|
|
|
|
'/^(\0\0\xFE\xFF|\xFF\xFE\0\0|\xFE\xFF|\xFF\xFE|\xEF\xBB\xBF)/', |
|
|
|
// washtml/DOMDocument cannot handle xml namespaces
|
|
|
|
'/<html\s[^>]+>/i', |
|
|
|
); |
|
|
|
|
|
|
|
$html_replace = array( |
|
|
|
'\\1'.' '.'\\3', |
|
|
|
'', |
|
|
|
'', |
|
|
|
'', |
|
|
|
'<html>', |
|
|
|
); |
|
|
|
$html = preg_replace($html_search, $html_replace, trim($html)); |
|
|
|