cardinals_fan
June 1st, 2008, 11:14 PM
I modified the WebVocab user javascript to get rid of 'winblows', 'm$', and as many of those idiotic names as I could think of. If anyone can think of some names I missed, mention them and I'll add 'em. Here's the code:
// ==UserScript==
// @name WebVocab
// @namespace http://userscripts.org
// @description Substitute second language vocab your studying into your primary language Web reading! //Modified version removing dumb names for Microsoft products
// @include *
// ==/UserScript==
(function() {
var replacements, regex, key, textnodes, node, s;
textnodes = document.evaluate( "//body//text()", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
for (var i = 0; i < textnodes.snapshotLength; i++) {
node = textnodes.snapshotItem(i);
if(node != null && node.nodeName == '#text' && /\S/.test(node.nodeValue))
{
s = node.data;
s = s.replace( /\bmicrosucks\b/gi, "Microsoft");
s = s.replace( /\bmicro\$oft\b/gi, "Microsoft");
s = s.replace( /\bmicrosoft\b/gi, "Microsoft");
s = s.replace( /\bms\b/gi, "Microsoft");
s = s.replace( /\bMs\b/gi, "Microsoft");
s = s.replace( /\bMS\b/gi, "Microsoft");
s = s.replace( /\bm\$\b/gi, "Microsoft");
s = s.replace( /\bM\$\b/gi, "Microsoft");
s = s.replace( /\bMicrosucks\b/gi, "Microsoft");
s = s.replace( /\bMicro\$oft\b/g, "Microsoft");
s = s.replace( /\bwindows\b/g, "Windows");
s = s.replace( /\bwindow\$\b/gi, "Windows");
s = s.replace( /\bwinblows\b/gi, "Windows");
s = s.replace( /\bwindblows\b/g, "Windows");
s = s.replace( /\bWindow\$\b/g, "Windows");
s = s.replace( /\bWinblows\b/g, "Windows");
s = s.replace( /\bWindblows\b/gi, "Windows");
s = s.replace( /\bWinsucks\b/g, "Windows");
s = s.replace( /\bvista\b/g, "Vista");
s = s.replace( /\bvi\$ta\b/g, "Vista");
s = s.replace( /\bVi\$ta\b/g, "Vista");
s = s.replace( /\b*******\b/g, "Windows");
s = s.replace( /\b*******\b/g, "Windows");
node.data = s;
}
}
})();
EDIT: Most of it works great, but the words 'm$' and 'M$' aren't replaced properly. Can anyone see a problem?
// ==UserScript==
// @name WebVocab
// @namespace http://userscripts.org
// @description Substitute second language vocab your studying into your primary language Web reading! //Modified version removing dumb names for Microsoft products
// @include *
// ==/UserScript==
(function() {
var replacements, regex, key, textnodes, node, s;
textnodes = document.evaluate( "//body//text()", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
for (var i = 0; i < textnodes.snapshotLength; i++) {
node = textnodes.snapshotItem(i);
if(node != null && node.nodeName == '#text' && /\S/.test(node.nodeValue))
{
s = node.data;
s = s.replace( /\bmicrosucks\b/gi, "Microsoft");
s = s.replace( /\bmicro\$oft\b/gi, "Microsoft");
s = s.replace( /\bmicrosoft\b/gi, "Microsoft");
s = s.replace( /\bms\b/gi, "Microsoft");
s = s.replace( /\bMs\b/gi, "Microsoft");
s = s.replace( /\bMS\b/gi, "Microsoft");
s = s.replace( /\bm\$\b/gi, "Microsoft");
s = s.replace( /\bM\$\b/gi, "Microsoft");
s = s.replace( /\bMicrosucks\b/gi, "Microsoft");
s = s.replace( /\bMicro\$oft\b/g, "Microsoft");
s = s.replace( /\bwindows\b/g, "Windows");
s = s.replace( /\bwindow\$\b/gi, "Windows");
s = s.replace( /\bwinblows\b/gi, "Windows");
s = s.replace( /\bwindblows\b/g, "Windows");
s = s.replace( /\bWindow\$\b/g, "Windows");
s = s.replace( /\bWinblows\b/g, "Windows");
s = s.replace( /\bWindblows\b/gi, "Windows");
s = s.replace( /\bWinsucks\b/g, "Windows");
s = s.replace( /\bvista\b/g, "Vista");
s = s.replace( /\bvi\$ta\b/g, "Vista");
s = s.replace( /\bVi\$ta\b/g, "Vista");
s = s.replace( /\b*******\b/g, "Windows");
s = s.replace( /\b*******\b/g, "Windows");
node.data = s;
}
}
})();
EDIT: Most of it works great, but the words 'm$' and 'M$' aren't replaced properly. Can anyone see a problem?