summaryrefslogtreecommitdiff
path: root/includes/unicode.inc
diff options
context:
space:
mode:
Diffstat (limited to 'includes/unicode.inc')
-rw-r--r--includes/unicode.inc5
1 files changed, 4 insertions, 1 deletions
diff --git a/includes/unicode.inc b/includes/unicode.inc
index f54ce1f1f..2912cde97 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);
}