我正在寻找类似于这个插件
http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html的东西
所以如果你正在寻找我的文字
里面的html喜欢
this is <a href="#">my</a> text that needs highlighting
你不会得到任何突出显示.
解决方法
我搞了一些RegEx,允许HTML标签位于空格字符的位置:
<div id="test">this is <a href="#">my</a> text that needs highlighting</div>
JavaScript的:
var src_str = $("#test").html(); var term = "my text"; term = term.replace(/(\s+)/,"(<[^>]+>)*$1(<[^>]+>)*"); var pattern = new RegExp("("+term+")","i"); src_str = src_str.replace(pattern,"<mark>$1</mark>"); src_str = src_str.replace(/(<mark>[^<>]*)((<[^>]+>)+)([^<>]*<\/mark>)/,"$1</mark>$2<mark>$4"); $("#test").html(src_str);