From 212d37a36acc12b22d6947afe24dbd6e3124e285 Mon Sep 17 00:00:00 2001 From: mistic100 Date: Sat, 15 Jun 2013 13:50:10 +0000 Subject: escape special chars used in regex https://github.com/MartinKoerner/jquery-tokeninput/commit/cc8eab541ad1371c6f0c6730c0154908eb105f5d git-svn-id: http://piwigo.org/svn/trunk@23229 68402e56-0260-453c-a942-63ccdbb3a9ee --- themes/default/js/plugins/jquery.tokeninput.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'themes/default') diff --git a/themes/default/js/plugins/jquery.tokeninput.js b/themes/default/js/plugins/jquery.tokeninput.js index 0c8662b3b..c36a864f2 100644 --- a/themes/default/js/plugins/jquery.tokeninput.js +++ b/themes/default/js/plugins/jquery.tokeninput.js @@ -576,7 +576,12 @@ $.TokenList = function (input, url_or_data, settings) { // Highlight the query part of the search term function highlight_term(value, term) { - return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "$1"); + return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + escape_regexp_chars(term) + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "$1"); + } + + function escape_regexp_chars(string) { + var specials = new RegExp("[.*+?|()\\[\\]{}\\\\]", "g"); // .*+?|()[]{}\ + return string.replace(specials, "\\$&"); } // Populate the results dropdown with some results -- cgit v1.2.3