client/js/twitter-bin.js
changeset 24 121a24be9da4
parent 21 b43dd87f7ffa
child 26 2fad193bae98
--- a/client/js/twitter-bin.js	Tue Aug 21 12:46:11 2012 +0200
+++ b/client/js/twitter-bin.js	Tue Aug 21 16:27:26 2012 +0200
@@ -20,6 +20,10 @@
     Rkns.$.getJSON(
         "http://search.twitter.com/search.json?q=" + encodeURIComponent(this.search) + "&callback=?",
         function(_data) {
+            var _rgxp = new RegExp('('+_this.search.replace(/(\W)/g,'\\$1')+')','gi');
+            function highlight(_text) {
+                return _text.replace(_rgxp, "<span class='searchmatch'>$1</span>");
+            }
             var _html = Rkns._(_data.results).map(function(_result) {
                 var _entities = [],
                     _users = _result.text.match(/@[\w_]+/gm),
@@ -72,10 +76,10 @@
                 _entities = Rkns._(_entities).sortBy(function(a) { return a.start });
                 var _lastend = 0,
                     _text = Rkns._(_entities).map(function(_e) {
-                        var _txt = _result.text.substring(_lastend, _e.start) + _e.link + _e.text + '</a>';
+                        var _txt = highlight(_result.text.substring(_lastend, _e.start)) + _e.link + highlight(_e.text) + '</a>';
                         _lastend = _e.end;
                         return _txt;
-                    }).join("") + _result.text.substring(_lastend);
+                    }).join("") + highlight(_result.text.substring(_lastend));
                 
                 return _this.tweetTemplate({
                     tweet: _result,