var keys = ['关键字1','关键字2'];
var prepareKeys = function() {
if (!prepareKeys.$map) {
var map = {};
var maxLength = 0;
for ( var i = 0; i < keys.length; i++) {
map[keys[i]] = 1;
maxLength = Math.max(keys[i].length, maxLength);
}
prepareKeys.$map = {
map : map,
length : maxLength
}
}
return prepareKeys.$map;
}
var colorKeyword = function(str) {
var info = prepareKeys();
var output = [];
while (str) {
var sub = str.substring(0, info.length);
str = str.substring(info.length);
while (!info.map[sub] && sub) {
str = sub.charAt(sub.length - 1) + str;
sub = sub.slice(0, -1);
//console.log(sub);
}
//console.log('color', sub);
if (sub) {
output.push( '<font color="red">', sub, '</font>');
} else {
output.push(str.charAt(0));
str = str.substring(1);
}
}
return output.join('' );
}
function filter(){
var input = $("#sms_content" ).val();
$( "#result").html(colorKeyword(input));
}