2009-11-06 134 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 
    } 
    } 
} 
相关问题