Skip to content

Instantly share code, notes, and snippets.

@canab
Created April 18, 2013 14:22
Show Gist options
  • Save canab/5413082 to your computer and use it in GitHub Desktop.
Save canab/5413082 to your computer and use it in GitHub Desktop.
javascript:(function() { var count = 0, text1, text2, regexp1, regexp2; text1 = "^.*error.*$"; text2 = "(/|\\\\)\\w+\\.(cs|js|as|py).*error"; regexp1 = new RegExp("(" + text1 + ")", "i"); regexp2 = new RegExp("(" + text2 + ")", "i"); function searchWithinNode(node, re, color) { var pos, skip, spannode, middlebit, endbit, middleclone; skip = 0; if (node.nodeType == 3) { pos = node.data.search(re); if (pos >= 0) { spannode = document.createElement("SPAN"); spannode.style.backgroundColor = color; middlebit = node.splitText(pos); endbit = middlebit.splitText(RegExp.$1.length); middleclone = middlebit.cloneNode(true); spannode.appendChild(middleclone); middlebit.parentNode.replaceChild(spannode, middlebit); ++count; skip = 1; } } else if (node.nodeType == 1 && node.childNodes && node.tagName.toUpperCase() != "SCRIPT" && node.tagName.toUpperCase != "STYLE") { for (var child = 0; child < node.childNodes.length; ++child) { child = child + searchWithinNode(node.childNodes[child], re, color); } } return skip; } searchWithinNode(document.body, regexp1, "yellow"); searchWithinNode(document.body, regexp2, "#aaffaa"); window.status = "Found " + count + " match" + (count == 1 ? "" : "es"); })();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment