From a22fbfc60f36f5f7ee10d5ae6fe347340c2ee67c Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sat, 3 Dec 2011 09:20:55 +0100 Subject: Update to MediaWiki 1.17.1 --- resources/jquery/jquery.highlightText.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'resources/jquery') diff --git a/resources/jquery/jquery.highlightText.js b/resources/jquery/jquery.highlightText.js index 7ca29efd..44ac56e1 100644 --- a/resources/jquery/jquery.highlightText.js +++ b/resources/jquery/jquery.highlightText.js @@ -21,10 +21,12 @@ $.highlightText = { // if this is a text node if ( node.nodeType == 3 ) { // TODO - need to be smarter about the character matching here. - // non latin characters can make regex think a new word has begun. - // look for an occurence of our pattern and store the starting position - var pos = node.data.search( new RegExp( "\\b" + $.escapeRE( pat ), "i" ) ); - if ( pos >= 0 ) { + // non latin characters can make regex think a new word has begun: do not use \b + // http://stackoverflow.com/questions/3787072/regex-wordwrap-with-utf8-characters-in-js + // look for an occurence of our pattern and store the starting position + var match = node.data.match( new RegExp( "(^|\\s)" + $.escapeRE( pat ), "i" ) ); + if ( match ) { + var pos = match.index + match[1].length; // include length of any matched spaces // create the span wrapper for the matched text var spannode = document.createElement( 'span' ); spannode.className = 'highlight'; -- cgit v1.2.3-54-g00ecf