加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php数组查找关键函数

发布时间:2022-06-16 09:55:10 所属栏目:PHP教程 来源:互联网
导读:提供三种方法来判断一个字符串中是否包括我们定义好的词,这比较适合于在留言,评论等地址进行关键词过滤,实例代码如下: $crud = array(中国|||我国|||大地, kelon|||lerke|||sb, sesscxx); $crud = join(|,$crud); $crud = str_replace(|||, |, $crud); $pat
  提供三种方法来判断一个字符串中是否包括我们定义好的词,这比较适合于在留言,评论等地址进行关键词过滤,实例代码如下:
 
  $crud = array('中国|||我国|||大地', 'kelon|||lerke|||sb', 'sesscxx');
  $crud = join('|',$crud);
  $crud = str_replace('|||', '|', $crud);
  $pat  = "/({$crud})/i";
  $txt = '我知道中国你是sdfex谁!!';
  preg_match/*_all*/($pat, $txt, $matches);
  var_dump($matches);
  方法二,代码如下:
 
  function checkcrud($str, $crud)
  {
      if(is_array($crud) && !emptyempty($crud))
      {
          foreach($crud as $value)
          {
              if(strpos($value, '|||') !== false)
              {
                  $cruds = explode('|||', $value);
                  $num = count($cruds);
                  $check = 0;
                  foreach($cruds as $val)
                  {
                      if(strpos($str, $val) !== false)
                      {
                          $check++;
                      }
                  }
                  if($check == $num)
                  {
                      return true;
                  }
              }
              else
              {
                  if(strpos($str, $value) !== false)
                  {
                      return true;
                  }
              }
          }
          return false;
      }
  }
  $crud = array('中国|||我国|||大地', 'kelon|||lerke|||ssxb', 'aaa');
  $test1 = '我是中国人.我国人很多.大地上全是人.-__-!!好xx的造句.';
   
  var_dump(checkcrud($test1, $crud));
  方法三,代码如下:
 
  function lktest($v,$keyword){
  foreach ($v as $k){
  if (strpos($k,"|||")!==false){
      $kelon=explode("|||",$k);
      //求数组最大值
      $b=count($kelon);
      foreach($kelon as $t){
          //echo $t.'<br>';
          if (preg_match('/'.$t.'/i',$keyword)){  
              //echo "敏感关键字";
              $a=$a+1;            
          }
      else{     
      $a='';
      }
               
      }
      //如果数组最大值跟$a相等时,则所有|||关键字都出现了
      if ($a==$b){
          echo "敏感关键字";     
          }
     }
  elseif(preg_match('/'.$k.'/i',$keyword)){
  echo "敏感关键字";//开源代码phpfensi.com
      }  
  }
  }

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读