我有一个字符串数组。我有一个关键字数组。php:如何检查字符串是否包含任何列出的关键字?
我遍历每个字符串,并且需要将它们存储到mysql数据库,如果它包含任何关键字。
当前我正在使用多个stristr(),这变得越来越困难。
是否有可能做类似stristr($string, array("ship","fukc","blah"));
的事情?
我有一个字符串数组。我有一个关键字数组。php:如何检查字符串是否包含任何列出的关键字?
我遍历每个字符串,并且需要将它们存储到mysql数据库,如果它包含任何关键字。
当前我正在使用多个stristr(),这变得越来越困难。
是否有可能做类似stristr($string, array("ship","fukc","blah"));
的事情?
我会建议你使用正规表示法为
snipet:
preg_match_all('|(keyword1|keyword2|keyword3)|', $text, $matches);
var_dump($matches);
看到preg_match_all文档以供参考
尝试使用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 */
}
}
}
$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*/
foreach ($strings as $string) {
foreach ($keywords as $keyword) {
if (strpos($string, $keyword) !== FALSE) {
// insert into database
}
}
}
if(in_array($string, array("ship","fukc","blah")))
{
}