diff --git a/includes/unicode.inc b/includes/unicode.inc
index f54ce1f1f50e8d10b32cf6b69edba0fed0c4a5bd..2912cde9776d2b662d3308c8fba776b137725b5a 100644
--- a/includes/unicode.inc
+++ b/includes/unicode.inc
@@ -335,7 +335,10 @@ function decode_entities($text, $exclude = array()) {
   }
   $newtable = array_diff($table, $exclude);
 
-  // Use a regexp to select all entities in one pass, to avoid decoding double-escaped entities twice.
+  // Use a regexp to select all entities in one pass, to avoid decoding 
+  // double-escaped entities twice. The PREG_REPLACE_EVAL modifier 'e' is
+  // being used to allow for a callback (see 
+  // http://php.net/manual/en/reference.pcre.pattern.modifiers).
   return preg_replace('/&(#x?)?([A-Za-z0-9]+);/e', '_decode_entities("$1", "$2", "$0", $newtable, $exclude)', $text);
 }