不是很技术,但是......我必须在我们正在开发的新网站中实现一个坏词过滤器。 所以我需要一个“好的”坏词列表来为我的数据库提供...任何提示/方向? 环顾四周谷歌我找到了这个 ,这是一个开始,但仅此而已。

是的,我知道这种过滤器很容易逃脱......但客户端将是客户端! :-)

该网站将不得不过滤掉英语和意大利语单词,但对于意大利语,我可以让我的同事帮助我建立社区建立的“parolacce”列表:-) - 一封电子邮件即可。

谢谢你的帮助。

===============>>#1 票数:56

小心克隆错误

“苹果公司犯下了强迫他们有远见的错误 - 我的意思是,看看NeXT一直在做什么!”

嗯。 “clbuttic”。

谷歌“clbuttic” - 成千上万的点击!

有人把他的汽车称为“clbuttic”。

有“Clbuttic Steam Engine”留言板。

韦伯斯特的字典 - 没有帮助。

嗯。 这可能是什么?

提示:那些对正则表达式脚本做出假设的人,在重复这种错误的时候会受到谴责。

===============>>#2 票数:39 已采纳

我没有看到任何指定的语言,但是你可以将它用于PHP,它将为每个输入的作品生成一个RegEx,这样即使是故意的错误拼写(即@ss,i3itch)也会被捕获。

<?php

/**
 * @author unkwntech@unkwndesign.com
 **/

if($_GET['act'] == 'do')
 {
    $pattern['a'] = '/[a]/'; $replace['a'] = '[a A @]';
    $pattern['b'] = '/[b]/'; $replace['b'] = '[b B I3 l3 i3]';
    $pattern['c'] = '/[c]/'; $replace['c'] = '(?:[c C (]|[k K])';
    $pattern['d'] = '/[d]/'; $replace['d'] = '[d D]';
    $pattern['e'] = '/[e]/'; $replace['e'] = '[e E 3]';
    $pattern['f'] = '/[f]/'; $replace['f'] = '(?:[f F]|[ph pH Ph PH])';
    $pattern['g'] = '/[g]/'; $replace['g'] = '[g G 6]';
    $pattern['h'] = '/[h]/'; $replace['h'] = '[h H]';
    $pattern['i'] = '/[i]/'; $replace['i'] = '[i I l ! 1]';
    $pattern['j'] = '/[j]/'; $replace['j'] = '[j J]';
    $pattern['k'] = '/[k]/'; $replace['k'] = '(?:[c C (]|[k K])';
    $pattern['l'] = '/[l]/'; $replace['l'] = '[l L 1 ! i]';
    $pattern['m'] = '/[m]/'; $replace['m'] = '[m M]';
    $pattern['n'] = '/[n]/'; $replace['n'] = '[n N]';
    $pattern['o'] = '/[o]/'; $replace['o'] = '[o O 0]';
    $pattern['p'] = '/[p]/'; $replace['p'] = '[p P]';
    $pattern['q'] = '/[q]/'; $replace['q'] = '[q Q 9]';
    $pattern['r'] = '/[r]/'; $replace['r'] = '[r R]';
    $pattern['s'] = '/[s]/'; $replace['s'] = '[s S $ 5]';
    $pattern['t'] = '/[t]/'; $replace['t'] = '[t T 7]';
    $pattern['u'] = '/[u]/'; $replace['u'] = '[u U v V]';
    $pattern['v'] = '/[v]/'; $replace['v'] = '[v V u U]';
    $pattern['w'] = '/[w]/'; $replace['w'] = '[w W vv VV]';
    $pattern['x'] = '/[x]/'; $replace['x'] = '[x X]';
    $pattern['y'] = '/[y]/'; $replace['y'] = '[y Y]';
    $pattern['z'] = '/[z]/'; $replace['z'] = '[z Z 2]';
    $word = str_split(strtolower($_POST['word']));
    $i=0;
    while($i < count($word))
     {
        if(!is_numeric($word[$i]))
         {
            if($word[$i] != ' ' || count($word[$i]) < '1')
             {
                $word[$i] = preg_replace($pattern[$word[$i]], $replace[$word[$i]], $word[$i]);
             }
         }
        $i++;
     }
    //$word = "/" . implode('', $word) . "/";
    echo implode('', $word);
 }

if($_GET['act'] == 'list')
 {
    $link = mysql_connect('localhost', 'username', 'password', '1');
    mysql_select_db('peoples');
    $sql = "SELECT word FROM filters";
    $result = mysql_query($sql, $link);
    $i=0;
    while($i < mysql_num_rows($result))
     {
        echo mysql_result($result, $i, 'word') . "<br />";
        $i++;
     }
     echo '<hr>';
 }
?>
<html>
    <head>
        <title>RegEx Generator</title>
    </head>
    <body>
        <form action='badword.php?act=do' method='post'>
            Word: <input type='text' name='word' /><br />
            <input type='submit' value='Generate' />
        </form>
        <a href="badword.php?act=list">List Words</a>
    </body>
</html>

===============>>#3 票数:35

Shutterstock有一个Github仓库,里面有一个用于过滤的坏词列表

你可以在这里查看: https//github.com/shutterstock/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words

===============>>#4 票数:7

如果有人需要API,Google目前会提供错误的字词指示符。

http://www.wdyl.com/profanity?q=naughtyword

{
response: "false"
}

更新:Google现已删除此服务。

===============>>#5 票数:4

我会说当你意识到它们时只删除帖子,并阻止对帖子过于明确的用户。 你可以在不使用任何脏话的情况下说非常令人反感的事情。 如果你阻止单词ass(又名驴),那么人们只需键入$$或/ \\ 55,或者他们需要输入的任何其他内容才能通过过滤器。

===============>>#6 票数:4

关于Clbuttic错误的+1,我认为“坏词”过滤器扫描前导空格和尾随空格(例如“屁股”)是很重要的,而不仅仅是精确的字符串,这样我们就不会有像clbuttic这样的单词,clbuttes,buttert,buttess等

===============>>#7 票数:2

维基百科ClueBot有一个坏词过滤器,阅读它的来源。

http://en.wikipedia.org/wiki/User:ClueBot/Source#Score_list

===============>>#8 票数:1

你总是可以说服客户让一个用户会话只是不断发布咒骂,并提供一个简单的解决方案,将它们添加到系统中。 这是很多工作,但它可能更具代表性的社区。

===============>>#9 票数:-3

在研究这个主题时,我确定所需要的不仅仅是一个可以任意替换的列表。 我已经构建了一个Web服务,可以让您确定所需的“清洁度”级别。 它还努力识别误报 - 即一个词在一个上下文中可能不好而在其他上下文中可能不好。 看看http://filterlanguage.com

  ask by ila translate from so

未解决问题?本站智能推荐:

1回复

ReactJS的亵渎过滤器

考虑以下代码: 这应该是亵渎性的过滤器。 理论上是它从文本区域获取输入,然后使用.map()和.includes()函数进行比较。 发誓是一个数组,其中包含一些坏词。 因此,地图会在咒骂数组上循环,拾取每个单词,然后查看它是否包含在文本中。 如果返回true,则控制台日志(找到错误的单词)。
4回复

亵渎过滤器导入

我期待在基于Rails的应用程序中编写基本的亵渎过滤器。 只要用户提交了适当的属性,这将使用简单的搜索和替换机制。 我的问题是,对于那些之前写过这些文件的人来说,是否有一个CSV文件或一些数据库可以将亵渎词汇列表导入我的数据库? 我们正在提交我们将自己取代亵渎的话。 我们或多或少需要一个
2回复

使用REGEX的OpenFire内容过滤器

嗨,我目前正在实施以下正则表达式,以防止用户提交包含正则表达式中描述的亵渎内容的内容 我想改进正则表达式,以便它还能过滤出信用卡号(主卡,签证,Jcb,美国运通卡等) 我有每张卡正则表达式: 但是,当我将这些信用卡美国运通卡和亵渎过滤器结合在一起时,就像这样 (?i)
2回复

遍历过滤器中的每个单词

我觉得我要碰到一堵砖墙。 我做了一个亵渎性的过滤器,但是当输入一个坏词,输入更多的词(不良或其他)时,该过滤器目前可以使用,不再过滤并提交罚款。 如果输入内容中有不良用语,我希望它不要提交。 到目前为止,这是我写的内容: 任何帮助,将不胜感激,谢谢!
1回复

红宝石导轨中带有模糊搜索的亵渎过滤器

我是Rails新手。 我正在使用profanity_filter ruby gem来过滤内容应用程序中的粗话。 profanity_filter,如果根本有一个肮脏的词,让我们说"foulword"肮脏的词"foulword"它将返回"f******d" 如果任何用户玩"fou
4回复

适用于iPhone的Objective C中的基本亵渎过滤器

你是多么喜欢有头脑的人来解决过滤亵渎的基本挑战,显然人们不可能解决每一个场景,但最好让一个人在最基本的水平上作为第一道防线。 在Obj-c我得到了 然后我遍历每个令牌以查看是否在每个令牌中找到任何关键字(我在列表中有大约400个)。 意识到误报也是一个问题,如果这个词是一个完
2回复

网站的任何开源/免费.NET亵渎过滤器?

您是否了解任何开源/免费的.NET亵渎过滤器(确切地说是ASP.NET MVC)? 我搜索谷歌,但我无法想出任何。 如果可能的话,我想避免完全依靠我自己实现它。 犯错误或忽略某些事情很容易。
2回复

如何在C#中添加亵渎过滤器

我有形成的评论列表。 客户要求我们在发布评论之前使用亵渎过滤器检查评论。 我有一个ProfanityFilter.cs类。 唯一的问题是我不确定如何将两者整合在一起。 简而言之,在发表评论之前,如何使评论达到筛选条件。 提前致谢! 这是形成注释列表的代码: 这是过
4回复

键入时jQuery Profanity过滤器未更新

我想使用此亵渎过滤器动态过滤坏词。 在给定的示例中,仅当文本在页面加载之前存在时,API才会将“ ass”更改为“ ***”。 我希望它能在输入时更改已识别的坏词,以防止有人通过我的联系表发送顽皮的消息。 这是到目前为止我得到的: 我认为'onkeypress'属性将强制脚本检
1回复

unescape在亵渎过滤器中不起作用

我正在尝试使用javascript做亵渎过滤器。 我很成功,但是当我对坏词进行编码时我却听不到 上班。 我已经连续工作了两天。 我试图使变量中的代码转义,然后在匹配时使用该变量。 我曾尝试在 也要匹配代码。 我已经尝试在document.write和其他我能想到的东西中