Skip to content

Instantly share code, notes, and snippets.

@kotarok
Created February 9, 2010 09:32
Show Gist options
  • Save kotarok/299050 to your computer and use it in GitHub Desktop.
Save kotarok/299050 to your computer and use it in GitHub Desktop.
mark part of string with given jQuery element by RegExp
/**
* @param query {RegExp} required
* @param wrapElement {jQuery} required
**/
$.fn.markTextByRegExp = function(query,wrapElement){
var REtag = '<\\/?[^>]+?\\/?>';
var REtagDivider = new RegExp(REtag+'|[^<>]*','gi');
return this.each(function(){
var elem = $(this);
var srcs = elem.html().match(REtagDivider);
for(var i=0,l=srcs.length;i<l;i++){
var obj = srcs[i];
if(!RegExp(REtag).test(obj)){
srcs[i] = obj.replace(query,function(matched){
return $('<div />').append(wrapElement.html(matched)).html();
})
}
}
elem.html(srcs.join(''));
})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment