summaryrefslogtreecommitdiff
path: root/resources/jquery/jquery.highlightText.js
diff options
context:
space:
mode:
Diffstat (limited to 'resources/jquery/jquery.highlightText.js')
-rw-r--r--resources/jquery/jquery.highlightText.js10
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';