我正在为Google Chrome进行扩展,我希望能够找到某些文本,并使用javascript将其替换为随机字母或数字,除非某些文本是用户输入的变量,例如他们输入的单词狗和所有说出狗被发现和替换的单词,如前所述。非常想要帮助
答案 0 :(得分:3)
尝试使用JavaScript的.replace()
方法。
假设您有一个这样的div来包含文本:<div id="test">Original Text</div>
,请使用此JavaScript代码:
var orignalstring = document.getElementById("test").innerHTML;
var newstring = orignalstring.replace("original","replaced");
document.getElementById("test").innerHTML = newstring;
基本上,这将识别整个div的整个内容,然后找到某些文本并替换这些术语,就像你问的那样。如果要在一个命令中替换多个字符串,请尝试以下操作:How to replace multiple strings with the .replace() Method?。这是几个星期前我就.replace()
提出的一个问题。
另外,试试这个JSFiddle:http://jsfiddle.net/tGMaN/
如果您希望用户能够定义要替换的文本和替换文本,您可以通过文本字段或提示框轻松执行此操作,并且这些值可以存储为{{{}中调用的变量1}}方法。
答案 1 :(得分:2)
String对象有很多有用的方法。
var theNewString = theString.replace(findThis, replaceWithThis);
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/replace
// Generates a string of random letters
function generateRandomKey(number) {
var key = String();
var values = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
for(var i = 0; i < number; i++) {
key += values.charAt(Math.floor(Math.random() * values.length));
}
return key;
}