diff options
Diffstat (limited to 'resources/jquery')
-rw-r--r-- | resources/jquery/jquery.highlightText.js | 10 |
1 files changed, 6 insertions, 4 deletions
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'; |