dongyan8929 2016-07-27 13:42
浏览 149

检测字符串中混淆的脏话

I want a function or method in PHP that will detect swearwords in obscured text. Something that will check string like:

$string = "hey you swearword!" or 
$string = "hey you swear#word!"

or maybe even

$string = "hey you sw3arw0rd!"

for "swearword" and will return true if it contains that bad swearword and false if it does not. I don't want people to use bad word on my site, please help!

  • 写回答

1条回答 默认 最新

  • drxm5014 2016-07-27 14:00
    关注

    Just a simple example to show the direction:

    $stopwords = ['swearword'];
    
    $test = ['swear#word','sw3arw0rd','goodword','swearw*rd','swe*rw*rd','swe*!**rd'];
    
    foreach($test as $word){
        foreach($stopwords as $stopword){
            if(levenshtein($stopword,$word)<=2){
                print "levenshtein: '$word' seems to mean $stopword<br/>";
                continue 2;
            }
        }
        if(strlen(preg_replace('#[a-zA-Z]+#','',$word))!==0){#special char found
            print "preg_replace: '$word' seems to have illegal chars<br/>";
            continue;
        }
        print "'$word' seems be NO stopword<br/>";
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 Revit2020下载问题
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
  • ¥15 单片机无法进入HAL_TIM_PWM_PulseFinishedCallback回调函数
  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 如何在炒股软件中,爬到我想看的日k线