MDL-62042 core_search: Unicode non-characters cause indexing problems
Unicode characters such as U+FFEF can be entered into Moodle data and cause indexing failures. This change strips them out of search fields.
This commit is contained in:
@@ -291,6 +291,9 @@ class document implements \renderable, \templatable {
|
||||
if ($fielddata['type'] === 'int' || $fielddata['type'] === 'tdate') {
|
||||
$this->data[$fieldname] = intval($value);
|
||||
} else {
|
||||
// Remove disallowed Unicode characters.
|
||||
$value = \core_text::remove_unicode_non_characters($value);
|
||||
|
||||
// Replace all groups of line breaks and spaces by single spaces.
|
||||
$this->data[$fieldname] = preg_replace("/\s+/u", " ", $value);
|
||||
if ($this->data[$fieldname] === null) {
|
||||
|
||||
Reference in New Issue
Block a user