highlight script

Status
Niet open voor verdere reacties.

anss

Nieuwe gebruiker
Lid geworden
2 apr 2009
Berichten
4
Hallo ,

In mijn website wil ik graag woorden met highlight . Ik ben geen javascript programmeur en vond op internet onderstaand scriptje.
Het script werkt goed als het een woord betreft b.v. taboe maar is het een samengesteld woord b.v. taboesfeer dan licht taboe in dat woord niet op.

Kan iemand mij misschien helpen om aan te geven hoe ik onderstaand scriptje moet aanpassen om dit toch voor elkaar te krijgen?

alvast heel hartelijk dank
a

var kw = [];
var qsParm = []; function qs() {var query = window.location.search.substring(1); var parms = query.split('&'); for (var i=0; i < parms.length; i++) {var pos = parms.indexOf('='); if (pos > 0) {var key = parms.substring(0,pos); var val = parms.substring(pos+1); qsParm[key] = val;}}} qsParm['hilite'] = null; qs();
if (qsParm['hilite'] != null) kw = qsParm['hilite'].split(',');
function start() {var bdy = document.getElementsByTagName('body')[0].innerHTML; for (var i = kw.length - 1; i >= 0; i--) {var re = new RegExp('(\\b'+kw+'\\b)','ig'); bdy = bdy.replace(re,'<span class="hl">$1<\/span>'); var re1 = new RegExp('(<[^>]*?)<span class="hl">('+kw+')<\/span>(.*?>)','ig'); bdy = bdy.replace(re1,'$1$2$3');var re2 = new RegExp('(<script.*?>)<span class="hl">('+kw+')<\/span>(<\/script>)','ig'); bdy = bdy.replace(re2,'$1$2$3'); var re3 = new RegExp('(<textarea.*?>)<span class="hl">('+kw+')<\/span>(<\/textarea>)','ig'); bdy = bdy.replace(re3,'$1$2$3');} document.getElementsByTagName('body')[0].innerHTML = bdy;}
window.onload = start;
 
Kun je een versie van het script zoeken die niet geminificeerd is? Dit is bijna niet te lezen zo...
 
Wat bedoel je met "geminificeerd". Ik ken dat woord niet. Ik heb het scriptje zo van intenet gehaald. Is er iets wat ik er zelf aan kan doen?

ans
 
Waar niet zoveel mogelijk op één regel geschreven is. Maar dus met enters (en tabs) tussen de regels.
 
Heb nu achter iedere; een break gezet hopelijk bedoelen jullie dat. Ik ben geen java script programmeur dus weet niet precies of dit goed is. Heb het originele script op internet nogmaals gezocht maar daar staat alles achterelkaar.

ans


var kw = [];

var qsParm = []; function qs() {var query = window.location.search.substring(1); var parms = query.split('&');

for (var i=0; i < parms.length; i++) {var pos = parms.indexOf('='); if (pos > 0) {var key = parms.substring(0,pos);

var val = parms.substring(pos+1); qsParm[key] = val;}}} qsParm['hilite'] = null; qs();

if (qsParm['hilite'] != null) kw = qsParm['hilite'].split(',');

function start() {var bdy = document.getElementsByTagName('body')[0].innerHTML;

for (var i = kw.length - 1; i >= 0; i--) {var re = new RegExp('(\\b'+kw+'\\b)','ig'); bdy = bdy.replace(re,'<span class="hl">$1<\/span>'); var re1 = new RegExp('(<[^>]*?)<span class="hl">('+kw+')<\/span>(.*?>)','ig');

bdy = bdy.replace(re1,'$1$2$3');var re2 = new RegExp('(<script.*?>)<span class="hl">('+kw+')<\/span>(<\/script>)','ig');

bdy = bdy.replace(re2,'$1$2$3');

var re3 = new RegExp('(<textarea.*?>)<span class="hl">('+kw+')<\/span>(<\/textarea>)','ig'); bdy = bdy.replace(re3,'$1$2$3');} document.getElementsByTagName('body')[0].innerHTML = bdy;}


window.onload = start;
 
highlight

Met dank aan iedereen die mijn vraag gelezen heeft.
Door een hoop error en trial is het mijzelf gelukt om het zo te krijgen dat ook samengestelde woorden oplichten. Achteraf gezien was het een super simpele oplossing maar als je geen verstand hebt van javascript zoals mijn persoontje een moeilijke puzzel.


met vriendelijke groet
ans
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan