<html>
<head>
<title>markWord</title>
<script language="JavaScript" type="text/javascript">
<!--
function doMark(str, word) {
return str.replace(new RegExp(word, "gi"), "<span style='background: #ffff33'>"+word+"</span>")
}
function markWord(id, needle) {
if ( document.getElementById ) {
var elm = document.getElementById(id);
} else if (document.all) {
var elm = document.all[id];
} else {
return; // sorry, NS4 er ikke med.
}
// Initialiser variabler
var out = "";
var haystack = elm.innerHTML;
if (haystack.indexOf('<') == -1 || haystack.indexOf('>') == -1) {
// Hvis ikke vi finder et < eller et > i haystack, er der ingen grund til at lede efter noget. Vi kan parse alt
out = doMark(haystack, needle);
} else {
// Ellers må vi parse igennem for tags
while (haystack.indexOf('<') != -1 && haystack.indexOf('>')) {
// Alt indtil < skal parses
out += doMark(haystack.substring(0, haystack.indexOf('<')), needle);
// Alt fra < til > skal ignoreres
out += haystack.substring(haystack.indexOf('<'), haystack.indexOf('>')+1)
// Fjern det parsede stykke fra "høstakken"
haystack = haystack.substring(haystack.indexOf('>')+1,haystack.length);
}
// Husk den sidste lille rest efter sidste tag
out += doMark(haystack, needle);
}
// Skriv resultatet til browseren
elm.innerHTML = out;
}
//-->
</script>
</head>
<body onload="markWord('a','a');">
<span name="a" id="a">
abc<table><tr><td>
<table><tr><td>
Lorem est a ipsum test dolor sit amet, consectetuer adipiscing elit, sed diam amex nonummy nibh euismod
tincidunt ut laoreet dolore magna aliquam erat volutpat.
Ut wisi enim des ad minim <a href="
http://www.testarea.dk" target="_blank">
www.testarea.dk</a>, quis nostrud exerci tation ullamcorper suscipit nfo lobortis
nisl ut aliquip ex ea commodo consequat.
</td>
</tr></table>
</td><td>
Lorem est a ipsum dolor sit amet, consectetuer adipiscing elit, sed diam amex nonummy nibh euismod
tincidunt ut laoreet dolore magna aliquam
www.testarea.dk erat volutpat.
Ut wisi enim des ad minim veniam, quis nostrud exerci tation ullamcorper suscipit nfo lobortis
nisl ut aliquip ex ea commodo consequat.</td>
</tr></table>jj
</span>
</body>
</html>
Jeg har success med det her eksempel. Prøv det, det er lidt anderledes end det du har nu, men det fungere lidt anderledes end det du vil frem til, men prøv det, det kan være du kan få det til at virke..