检查字符串是否在PHP中出现多个值

时间:2013-11-13 23:16:07

标签: php string

我正在对检索到的传记字符串进行检查,以确定艺术家是否仍处于活动状态。

示例生物:

$bio = 'Band was a psychedelic/progressive rock band';

目前我有

$active = (strpos($bio, 'was an')) ? false : true;

但我也想检查其他事件。 像:

$inactives = array('was a', 'was an', 'died', 'were a');  

有没有一种简单的方法可以在不使用循环的情况下执行此操作?因此,如果bio字符串包含在inactives数组中的任何值,则返回false。

1 个答案:

答案 0 :(得分:3)

尝试这种正则表达式方法:

if(preg_match('~(was a|was an|died|were a|were an)~', $input)) {
    echo 'not active anymore';
}

或简化:

if(preg_match('~(was an?|died|were an?)~', $input)) {
    echo 'not active anymore';
}