douliao2493 2016-07-20 20:11
浏览 68
已采纳

用于if语句的另一种方式,带有太多“OR”||

I've got this if statement that checks for these "Offensive words" in an input of types = text

if(strstr($key,'bi**h') || strstr($key,'fu**k') || strstr($key,'son of a   bit**') || strstr($key,'cun*') || strstr($key,'fuc**r') || strstr($key,'mother fuc**') || strstr($key,'shi**') || strstr($key,'cr**p') ){

      $erros['insult']='please avoid any offending words';

       }

This code is made by another developer, I was just wondering is there any more way other than adding the double pipes for each word I have to enter?. It kinda looks a primitive way of writing such a code, I guess.

  • 写回答

2条回答 默认 最新

  • duanhe8280 2016-07-20 20:29
    关注

    Be careful with bad word filters, what about the word shitake? Here's a simple way to replace bad words and check against the original string:

    $bad = array('bi**h', 'fu**k', 'son of a   bit**', 'cun*', 'fuc**r', 'mother fuc**', 'shi**', 'cr**p');
    
    if(str_replace($bad, '', $key) != $key) {
          $erros['insult']='please avoid any offending words';
    }
    

    However the if and || approach will be faster.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况