Index: trunk/CHANGELOG
===================================================================
--- trunk/CHANGELOG	(revision 745)
+++ trunk/CHANGELOG	(revision 746)
@@ -12,6 +12,7 @@
 
 ------------------------------------- 2.7.0 -------------------------------------
 11-Mar-2008 Christian Sommer
+#	fixed issue with output filter (all .@ in descriptive mailto part: >xxxxx</a> were replaced; now restricted to emails)
 #	fixed issue with WYSIWYG pages (appears if backend language and page frontend language differs)
 08-Mar-2008 Thomas Hornik
 #	fixed issue with news and end-date
Index: trunk/wb/modules/output_filter/filter-routines.php
===================================================================
--- trunk/wb/modules/output_filter/filter-routines.php	(revision 745)
+++ trunk/wb/modules/output_filter/filter-routines.php	(revision 746)
@@ -141,9 +141,14 @@
 			if(!in_array(OUTPUT_FILTER_MODE, array(2,3,6,7))) return $match[0];
 			
 			// check if last part of the a href link: >xxxx</a> contains a email address we need to filter
-			$pattern = '#\b[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4}\b#i';
-			if(preg_match($pattern, $match[5])) {
-				$match[5] = str_replace($search, $replace, $match[5]);
+			$pattern = '#[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4}#i';
+			if(preg_match_all($pattern, $match[5], $matches)) {
+				foreach($matches as $submatch) {
+					foreach($submatch as $value) {
+						// replace all . and all @ in email address parts by (dot) and (at) strings
+						$match[5] = str_replace($value, str_replace($search, $replace, $value), $match[5]);
+					}
+				}
 			}
 
 			// check if Javascript encryption routine is enabled
