@@ -119,6 +119,7 @@ <h3>Settings</h3>
119119 < td >
120120 < p > A function that gives you control over how suggestions are displayed. Default:</ p >
121121< pre class ="prettyprint " style ="white-space:pre-wrap "> < code > renderItem: function (item, search){
122+ search = search.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
122123 var re = new RegExp("(" + search.split(' ').join('|') + ")", "gi");
123124 return '<div class="autocomplete-suggestion" data-val="' + item + '">' + item.replace(re, "<b>$1</b>") + '</div>';
124125}</ code > </ pre >
@@ -223,6 +224,7 @@ <h4>Advanced suggestions handling and custom layout</h4>
223224 suggest(suggestions);
224225 },
225226 renderItem: function (item, search){
227+ search = search.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
226228 var re = new RegExp("(" + search.split(' ').join('|') + ")", "gi");
227229 return '<div class="autocomplete-suggestion" data-langname="'+item[0]+'" data-lang="'+item[1]+'" data-val="'+search+'"><img src="img/'+item[1]+'.png"> '+item[0].replace(re, "<b>$1</b>")+'</div>';
228230 },
@@ -287,6 +289,7 @@ <h4>Advanced suggestions handling and custom layout</h4>
287289 suggest ( suggestions ) ;
288290 } ,
289291 renderItem : function ( item , search ) {
292+ search = search . replace ( / [ - \/ \\ ^ $ * + ? . ( ) | [ \] { } ] / g, '\\$&' ) ;
290293 var re = new RegExp ( "(" + search . split ( ' ' ) . join ( '|' ) + ")" , "gi" ) ;
291294 return '<div class="autocomplete-suggestion" data-langname="' + item [ 0 ] + '" data-lang="' + item [ 1 ] + '" data-val="' + search + '"><img src="img/' + item [ 1 ] + '.png"> ' + item [ 0 ] . replace ( re , "<b>$1</b>" ) + '</div>' ;
292295 } ,
0 commit comments