2009-11-06 92 views
3

我有一個字符串數組。我有一個關鍵字數組。php:如何檢查字符串是否包含任何列出的關鍵字?

我遍歷每個字符串,並且需要將它們存儲到mysql數據庫,如果它包含任何關鍵字。

當前我正在使用多個stristr(),這變得越來越困難。

是否有可能做類似stristr($string, array("ship","fukc","blah"));的事情?

回答

5

我會建議你使用正規表示法爲

snipet:

preg_match_all('|(keyword1|keyword2|keyword3)|', $text, $matches); 
var_dump($matches); 

看到preg_match_all文檔以供參考

0

嘗試使用in_array()

for ($i = 0 ; $i < count($arrayString); $i++){ 

    for ($j = 0 ; $j < count($arrayKeyWord); $j++){ 

    if (in_array($arrayString[$i],$arrayKeyWord[$j]) == true){ 
     /* mysql code */ 

    } 

    } 

} 
2
$to_be_saved = array(); 
foreach($strings as $string) { 
    foreach($keywords as $keyword) { 
    if(stripos($string, $keyword) !== FALSE){ 
     array_push($to_be_saved, $keyword); 
    } 
    } 
} 

/*save $to_be_saved to DB*/ 
3
foreach ($strings as $string) { 
    foreach ($keywords as $keyword) { 
    if (strpos($string, $keyword) !== FALSE) { 
     // insert into database 
    } 
    } 
} 
相關問題