如何在多个文本字符串中使用数组或 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
}
我做了这个代码
$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
}