PHP验证字符串不包含值列表


PHP Validation String Does Not Contain List Of Values

例如:

$exclude_values = ['/','.'];
$check_string = 'asdf/';
$return = 'VALID';
foreach($exclude_values as $value)
{
  if(strpos($value,$check_string) != FALSE)
  {
   $return = 'INVALID';
  }
}
return $return;

有更好的方法吗?我看到过对堆栈进行单次检查而不是多个值的例子

我不推荐任何多字节或PCRE库之外的字符串搜索功能,因为它们并不总是与utf-8兼容,并且您迟早会遇到奇怪的错误。

在你的情况下,一个正则表达式是一个更好的解决方案:

return !preg_match('%[/'.]%usD', $check_string);