使用javascript过滤坏词

使用javascript过滤坏词,javascript,php,Javascript,Php,我想要的结果是这样的: Enter user: I am **tester** sohai Result: I am tester ***** 如何实现这一点?不要使用jQuerytext()方法,而是使用html()方法。text()方法从元素体中删除所有HTML标记,而HTML()方法返回整个内容,包括标记 此代码是javascript的更新版本,它实现了单词过滤机制: Enter user: I am **tester** sohai Result: I am **tester*

我想要的结果是这样的:

Enter user: I am **tester** sohai 

Result: I am tester *****

如何实现这一点?

不要使用jQuery
text()
方法,而是使用
html()
方法。
text()
方法从元素体中删除所有HTML标记,而
HTML()
方法返回整个内容,包括标记

此代码是javascript的更新版本,它实现了单词过滤机制:

Enter user: I am **tester** sohai 

Result: I am **tester** *****
//过滤字部分
变量过滤器=;
String.prototype.repeat=函数(num){
返回新数组(num+1)。加入(this);
}
$('.filterW').html(函数(i,html){
//检查数组中的所有字

对于(var i=0;iwo…谢谢你michael gaskill…..非常感谢^^….最后解决它是的~~~~~有一点很有趣,坏词过滤器可能会产生一些不想要的效果。以“刺客”一词为例。粗略的坏词过滤器可能会将其更改为“Buttin”(我个人最喜欢的一个)。请记住这一点。@Bono这是一个很好的观点。这段代码碰巧使用了\b单词边界来确保它只匹配整个单词。您提到的特定情况是不可能的,但这并不是说在某个地方没有隐藏边缘情况。:D
Enter user: I am **tester** sohai 

Result: I am tester *****
Enter user: I am **tester** sohai 

Result: I am **tester** *****
//filter word part
var filter = <?php echo json_encode($Array); ?>;
String.prototype.repeat = function(num) {
    return new Array(num + 1).join(this);
}

$('.filterW').html(function(i, html) {
    // Check all words in array
    for (var i=0; i<filter.length; i++) {
        var pattern = new RegExp('\\b' + filter[i] + '\\b', 'gi');
        // Create a new string filled with '*'
        var replacement = '*'.repeat(filter[i].length);
        html = html.replace(pattern, replacement);
    }
    return html;
});
<a href="#" id="igloo">Igloo</a>
<p>This is an exa<i>m</i>ple</p>