diff -up lib/Horde/Text/Filter/Emails.php.old lib/Horde/Text/Filter/Emails.php --- lib/Horde/Text/Filter/Emails.php.old 2013-01-10 15:19:06.000000000 +0100 +++ lib/Horde/Text/Filter/Emails.php 2013-01-10 15:19:14.000000000 +0100 @@ -124,7 +124,8 @@ EOR; */ static public function decode($text) { - return preg_replace('/\01\01\01([\w=+\/]*)\01\01\01/e', 'base64_decode(\'$1\')', $text); + $callback = function($hex) { return base64_decode($hex[1]); }; + return preg_replace_callback('/\01\01\01([\w=+\/]*)\01\01\01/', $callback , $text); } } diff -up lib/Horde/Text/Filter/Linkurls.php.old lib/Horde/Text/Filter/Linkurls.php --- lib/Horde/Text/Filter/Linkurls.php.old 2013-01-10 15:10:48.000000000 +0100 +++ lib/Horde/Text/Filter/Linkurls.php 2013-01-10 15:18:31.000000000 +0100 @@ -174,7 +174,8 @@ END_OF_REGEX; */ static public function decode($text) { - return preg_replace('/\00\00\00([\w=+\/]*)\00\00\00/e', 'base64_decode(\'$1\')', $text); + $callback = function($hex) { return base64_decode($hex[1]); }; + return preg_replace_callback('/\00\00\00([\w=+\/]*)\00\00\00/', $callback, $text); } }