Hvordan laves variabler til search and replace funktion
Er ved at rode med et js som skal highlighte bestemte or med f.eks rød, har fundet følgende script som næsten gør det jeg skal bruge:(function() {
window.addEventListener("load", function(e) {
var bgcolors=new Array("#fcc","#ffc","#cff","#ddd");
var pnames=new Array("q","p","query");
var params=new Array();
var swords=new Array();
var swordstr='';
var bstring=document.body.innerHTML;
xtags=bstring.match(/<[^>]+>/g);
bstring=bstring.replace(/<[^>]+>/g,'{T4G}');
qparams=unescape(document.referrer).replace(/\+/g,' ').replace(/^.+\?/,'').replace(/ ?site: [^ ]+/g,"").split('&');
for(i=0;i<qparams.length;i++) {
k=qparams[i].split('=');
params[k[0]]=k[1];
}
for(p=0;p<pnames.length;p++) { if(params[pnames[p]]) swordstr=params[pnames[p]]; }
if(swordstr) {
frases=swordstr.match(/\"([^\"]+)\"/g);
swordstr=swordstr.replace(/\"[^\"]+\"/g,"");
swords=swordstr.split(' ')
if(frases) for(f=0;f<frases.length;f++) {swords[swords.length]=frases[f].replace(/\"/g,"");}
for (i=0;i<swords.length;i++) {
anchor="<span style=background:"+bgcolors[(29+i)%bgcolors.length]+">$1<\/span>";
exp=eval("/("+swords[i]+")/ig");
bstring=bstring.replace(exp,anchor);
}
for(h=0;h<xtags.length;h++) {
bstring=bstring.replace("{T4G}",xtags[h]);
}
document.body.innerHTML=bstring;
document.close();
} }, false);
})();
problemet er dog at det skal være faste ord den skale søge efter (f.eks test, test1, test2) og higlighte disse, en der kan give mig et hint til at få ovensteåde til det ? (istedet for som nu at highlighte det ord man har søgt på)
