jquery コード (元のサイトは忘れました) が、html ページ内の単語を星印 (*) に置き換えるように機能していることがわかりました。 、単語の一部を変更することはできず、大文字と小文字も区別されます。
JQuery コード:
String.prototype.repeat = function(num){
return new Array(num + 1).join(this);
}
/* Word or Character to be replace */
var filter = ['itch','asshole', 'uck', 'sex'];
$('body').text(function(i, txt){
// iterate over all words
for(var i=0; i<filter.length; i++){
// Create a regular expression and make it global
var pattern = new RegExp('\\b' + filter[i] + '\\b', 'g');
// Create a new string filled with '*'
var replacement = '*'.repeat(filter[i].length);
txt = txt.replace(pattern, replacement);
}
// returning txt will set the new text value for the current element
return txt;
});
単語フィルター:
['itch','asshole', 'uck', 'sex'];
そして結果:
sex -> *** // successfully replacing
SEX -> SEX // not replaced, i want this word also replaced to ***
bitch -> bitch // not replaced, i want this word replaced to b****
このjqueryコードを変更して、単語の一部の文字を変更し、大文字と小文字を区別しないようにする方法は?
フィドル: http://jsfiddle.net/bGhq8/
ありがとうございました。