Skip to content

Instantly share code, notes, and snippets.

@zubinJiang
Created June 25, 2013 02:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zubinJiang/5855448 to your computer and use it in GitHub Desktop.
Save zubinJiang/5855448 to your computer and use it in GitHub Desktop.
function ralatebaikekw(subject, message)
{
if(isUndefined(subject) || subject == -1) {
subject = $('subject').value;
subject = subject.replace(/<\/?[^>]+>|\[\/?.+?\]|"/ig, "");
subject = subject.replace(/\s{2,}/ig, ' ');
}
if(isUndefined(message) || message == -1) {
message = getEditorContents();
var Contents = message;
message = message.replace(/<\/?[^>]+>|\[\/?.+?\]|"/ig, "");
message = message.replace(/\s{2,}/ig, ' ');
message = message.replace(/\[.+?\]/ig,'');
}
message = message.replace(/&/ig, '', message).substr(0, 500);
subject = encodeURIComponent(subject);
message = encodeURIComponent(message);
var i=0;
var tag_arr = new Array();
for(var w in jsonallbaike) {
var count1 = count = 0;
tag_arr[i] = [];
if(subject.indexOf(jsonallbaike[w]['entry_name'])!='-1') {
count = countInstances(subject, jsonallbaike[w]['entry_name']);
count1 += count*2;
}
if(message.indexOf(jsonallbaike[w]['entry_name'])!='-1') {
count = countInstances(message, jsonallbaike[w]['entry_name']);
count1 += count*1.5;
}
if(count1 != '') {
tag_arr[i]['entry_name'] = jsonallbaike[w]['entry_name'];
tag_arr[i]['entry_id'] = jsonallbaike[w]['entry_id'];
tag_arr[i]['url'] = jsonallbaike[w]['url'];
tag_arr[i]['count'] = count1;
i++;
}
}
for(var k in tag_arr) {
var entry_name = ""+tag_arr[k]['entry_name']+"";
for(var y in tag_arr){
var entry_name1 = ""+tag_arr[y]['entry_name']+"";
if((entry_name1.indexOf(entry_name)!='-1')&&(entry_name!=entry_name1)){
tag_arr[k]['count'] = tag_arr[y]['count']-1;
}
}
}
var taglen = tag_arr.length;
for(var i=0; i<taglen; i++) {
var exchange = false;
for(var j=taglen-2; j>=i; j--) {
if((tag_arr[j+1]['count']) > (tag_arr[j]['count'])) {
var temp = tag_arr[j+1];
tag_arr[j+1] = tag_arr[j];
tag_arr[j] = temp;
exchange = true;
}
}
if(!exchange) break;
}
var str = '';
var txt = '';
//Contents = encodeURIComponent(Contents);
for(var a in tag_arr){
if(String(tag_arr[a]['entry_name'])!='undefined'&&tag_arr[a]['count']!=0){
str += tag_arr[a]['entry_name']+'|'+tag_arr[a]['url']+",";
txt += tag_arr[a]['entry_name']+",";
//Contents = Contents.replace(tag_arr[a]['entry_name'], "<a href='http://baike.onlylady.com/"+tag_arr[a]['url']+"/' target='_blank'>"+decodeURIComponent(tag_arr[a]['entry_name'])+"</a>");
}
}
$('hiddenbaiketags').value = decodeURIComponent(RTrim(str));
$('baiketags').value = decodeURIComponent(RTrim(txt));
//editdoc.body.innerHTML = decodeURIComponent(Contents);
console.log(decodeURIComponent(RTrim(str)));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment