From 5e98e109b9150f59e119ee30fdfaf6a54d077e9a Mon Sep 17 00:00:00 2001 From: svncommit Date: Fri, 29 Dec 2006 10:11:25 +0000 Subject: [PATCH] Fix HTML cleanup (fixes #1484183) --- program/steps/mail/func.inc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index 257502e15..e12208d46 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -1210,8 +1210,12 @@ function rcmail_mod_html_body($body, $container_id) } // replace event handlers on any object - $body = preg_replace('/\s(on[^=]+)=/im', ' __removed=', $body); - $body = preg_replace('/\shref=["\']?(javascript:)/im', 'null:', $body); + while ($body != $prev_body) + { + $prev_body = $body; + $body = preg_replace('/(<[^!][^>]*?\s)(on\w+?)(=[^>]*?>)/im', '$1__removed=$3', $body); + $body = preg_replace('/(<[^!][^>]*?\shref=["\']?)(javascript:)([^>]*?>)/im', '$1null:$3', $body); + } // resolve $base_reg = '/()/i';