提供三種方法來判斷一個字符串中是否包括我們定義好的詞,這比較適合于在留言,評論等地址進(jìn)行關(guān)鍵詞過濾,實(shí)例代碼如下:

  1. $crud = array('中國|||我國|||大地''kelon|||lerke|||sb''sesscxx'); 
  2. $crud = join('|',$crud); 
  3. $crud = str_replace('|||''|'$crud); 
  4. $pat  = "/({$crud})/i"
  5. $txt = '我知道中國你是sdfex誰??!'
  6. preg_match/*_all*/($pat$txt$matches); 
  7. var_dump($matches); 

方法二,代碼如下:

  1. function checkcrud($str$crud
  2.     if(is_array($crud) && !emptyempty($crud)) 
  3.     { 
  4.         foreach($crud as $value
  5.         { 
  6.             if(strpos($value'|||') !== false) 
  7.             { 
  8.                 $cruds = explode('|||'$value); 
  9.                 $num = count($cruds); 
  10.                 $check = 0; 
  11.                 foreach($cruds as $val
  12.                 { 
  13.                     if(strpos($str$val) !== false) 
  14.                     { 
  15.                         $check++; 
  16.                     } 
  17.                 } 
  18.                 if($check == $num
  19.                 { 
  20.                     return true; 
  21.                 } 
  22.             } 
  23.             else 
  24.             { 
  25.                 if(strpos($str$value) !== false) 
  26.                 { 
  27.                     return true; 
  28.                 } 
  29.             } 
  30.         } 
  31.         return false; 
  32.     } 
  33. $crud = array('中國|||我國|||大地''kelon|||lerke|||ssxb''aaa'); 
  34. $test1 = '我是中國人.我國人很多.大地上全是人.-__-!!好xx的造句.'
  35.  
  36. var_dump(checkcrud($test1$crud)); 

方法三,代碼如下:

  1. function lktest($v,$keyword){ 
  2. foreach ($v as $k){ 
  3. if (strpos($k,"|||")!==false){ 
  4.     $kelon=explode("|||",$k); 
  5.     //求數(shù)組最大值 
  6.     $b=count($kelon); 
  7.     foreach($kelon as $t){ 
  8.         //echo $t.'<br>'; 
  9.         if (preg_match('/'.$t.'/i',$keyword)){  
  10.             //echo "敏感關(guān)鍵字"; 
  11.             $a=$a+1;            
  12.         } 
  13.     else{     
  14.     $a=''
  15.     } 
  16.              
  17.     } 
  18.     //如果數(shù)組最大值跟$a相等時,則所有|||關(guān)鍵字都出現(xiàn)了 
  19.     if ($a==$b){ 
  20.         echo "敏感關(guān)鍵字";     
  21.         } 
  22.    } 
  23. elseif(preg_match('/'.$k.'/i',$keyword)){ 
  24. echo "敏感關(guān)鍵字";//開源代碼phpfensi.com 
  25.     }  
  26. }
轉(zhuǎn)載請注明來源:php數(shù)組查找關(guān)鍵函數(shù)

  哈爾濱品用軟件有限公司致力于為哈爾濱的中小企業(yè)制作大氣、美觀的優(yōu)秀網(wǎng)站,并且能夠搭建符合百度排名規(guī)范的網(wǎng)站基底,使您的網(wǎng)站無需額外費(fèi)用,即可穩(wěn)步提升排名至首頁。歡迎體驗(yàn)最佳的哈爾濱網(wǎng)站建設(shè)。