-2

我想要一个油脂猴程序,用著名诗人的名字代替脏话。程序应该随机执行此操作。

// ==UserScript==
// @name          Profanity Filter - Quantum Remix
// @namespace     kornk/skidfilter
// @description Filters words 
// @include         *
// ==/UserScript==

/*

  Author: MCE - Edited by aaa


 Version: 1.0
 1.0 - First Release

 Competing scripts and extensions:
 * http://www.arantius.com/article/arantius/clean+language/

  Improvements Needed:


   */

  // Licensed for unlimited modification and redistribution as long as
  // this notice is kept intact.

 (function() {

//some performance settings
var MillisecondsPauseBetweenBatches=3;
var NodesPerBatch = 20;
var ReplacementText = "TBD";

//edit the words here
//sorted alpha backwords to catch bad word groupings
var badwords=['shit', 'fuck', 'cunt', 'dick', 'dicks', 'penis', 'vagina', 'whore', 'fromatic', 'ass', 'asses', 'shits', 'fucks', 'fucker', 'fuckers', 'motherfucker', 'motherfuck', 'motherfucking', 'fucking', 'motherfuckers', 'nigger', 'niggers', 'gay', 'gays', 'homo', 'homos', 'vaginas', 'pussy', 'whores', 'shits', 'shitter', 'anus', 'arse', 'arsehole', 'asshat', 'ass-hat', 'assbag', 'douche', 'assbite', 'asscock', 'asses', 'assface', 'asshole', 'asshead', 'assnigger', 'assshole', 'asswipe', 'bampot', 'bastard', 'beaner', 'bitch', 'bitchass', 'bitches', 'bitchtits', 'bitchy', 'blow job', 'blowjob', 'bollocks', 'bollox', 'boner', 'bullshit', 'buttplug', 'butt plug', 'buttfucker', 'chink', 'choad', 'chode', 'clit', 'clitface', 'clitfuck', 'cock', 'cockass', 'cockbite', 'cockburger', 'cockface', 'cum', 'cumdumpster', 'cumguzzler', 'cuntface', 'cuntmuffin', 'damn', 'dickbag', 'dickface', 'dickmilk', 'dike', 'dildo', 'doochbag', 'douchebag', 'dumbass', 'dumbshit', 'dyke', 'fag', 'fagbag', 'faggot', 'fuckbag', 'fucker', 'fuckhead', 'fucking', 'fucken', 'fucktard', 'gooch', 'hoe', 'jizz', 'mothafucka', 'mothefuckas', 'mothafucking', 'motherfuckin', 'motherfucken', 'piss', 'queer', 'tit', 'boob', 'twat', 'wanker'];

var i = 0;
var st = new Date().valueOf();  //for performance testing   
var els = document.evaluate('//text()', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
var bw="\\b("+badwords.join("|")+")\\b";
bw=new RegExp(bw, "gi");

//do the title first
document.title=document.title.replace(bw, ReplacementText);

function CleanSome() 
{       
    var el;
    var newval="";
    var data = "";
    var loopCount = 0;
    while ((el=els.snapshotItem(i++)) && (loopCount <= NodesPerBatch)) 
    {
        data = el.data;
        newval = data.replace(bw, ReplacementText);
        if (newval.length != data.length ||  newval != data)
        {
            //check the length first since its quicker than a a string comparison.
            //only change the value if we need to. its quicker.
            el.data = newval;
        }
        loopCount++;
    }

    if (el != null)
    {
        //more work left to do
        i--;
        GoNow(MillisecondsPauseBetweenBatches);
    }
    else
    {
        //we're done
        DoneNow();
    }
}

function DoneNow()
{
    var et = new Date().valueOf();
    //alert("Milliseconds to complete: " + (et - st).toString()); //timer code
}

function GoNow(WaitUntil)
{
    window.setTimeout(CleanSome, WaitUntil); 
}

//spin the initial "thread"
GoNow(0);

 })
 ();

我希望它用这 18 位诗人的名字之一随机替换其中一个脏话,

Walt Whitman
Edna St. Vincent Millay
Emily Dickinson
E. E. Cummings
Robert Frost
Nikki Giovanni 
Ralph Waldo Emerson
T.S. Elliot
Edgar Allan Poe
W.B. Yeats
Lord Tennyson
Maya Angelou
Langston Hughes
Sylvia Plath
Elizabeth Bishop
Anne Sexton
Anne Bradstreet
Gwendolyn Elizabeth Brooks
4

1 回答 1

0

怎么样 :

var text = "hello cruel world, hello",
    goodWords = ["yo","man"],
    badWords = ["hello","world"];
badWords.forEach(function(bad){
  var word = goodWords[Math.floor(Math.random()*goodWords.length)],
      reg = new RegExp(bad,"gi");
  text = text.replace(reg,word);
})

代码笔怎么样

于 2013-06-17T23:40:20.043 回答