如何在多个文本字符串中使用数组或 in_array 进行 strpos

how to strpos with array or in_array in multiple text string

我做了这个代码

$message = 'This domain has strpos';
$links = array('domain.com', 'do.main');
$safe = strpos($message, $links);
return $message;

但我的页面出现错误 errorHandler->error,我的代码有什么问题? 我是否遗漏了一些代码?

我想要的只是检测消息是否在 $links 中有字符串,然后执行我的其余代码

感谢退学

请尝试这个会给出预期的输出。

$message = 'This domain has strpos';
$links = array('domain.com', 'do.main');
$safe = array();
foreach($links as $key=>$result){
    if(strpos($message, $result) != false){
      $safe[$result] = "String is available";   
    } else{
      $safe[$result] = "String is not available";       
    }

}
print_r($safe);

由于 PHP 没有优雅的解决方案,我所看到的只是完整的函数,这里有一个简单的可以工作的方法

$arr 将包含一个你不想要的字符串数组

// If string has illegal characters return false 
function str_allowed($str, $arr) {
    foreach ($arr as $bad_string) {
        if(strpos($str, $bad_string) !== false)
            return false; // bad string detected, return false
    }
    return true; // if we got this far means everything's good return true
}