特殊字符动态集的PHP预匹配检查?

特殊字符动态集的PHP预匹配检查?,php,preg-match,Php,Preg Match,在一个应用程序中,我需要对数据库中的动态特殊字符集进行特殊字符检查 $specialCharacters = SystemParameters::model()->findByAttributes(array('sys_param_name' => 'SPLCHR')); // [\^£$%&*()}{@#~?><>,|=_+¬-]'"; This is the resulting value $var = addslashes($specialChar

在一个应用程序中,我需要对数据库中的动态特殊字符集进行特殊字符检查

$specialCharacters = SystemParameters::model()->findByAttributes(array('sys_param_name' => 'SPLCHR'));
// [\^£$%&*()}{@#~?><>,|=_+¬-]'"; This is the resulting value
$var = addslashes($specialCharacters->sys_param_val);

if (preg_match('/' . $var . '/', $string))
    return false;
else
    return true;
$specialCharacters=SystemParameters::model()->findByAttributes(数组('sys\u param\u name'=>'SPLCHR');
//这是结果值
$var=addslashes($specialCharacters->sys\u param\u val);
if(preg_匹配('/'.$var'/',$string))
返回false;
其他的
返回true;
用于引用以下特殊字符

preg_match('/' . preg_quote($var, '/') . '/', $string)
基于这样一个事实,您的数据库结果没有用方括号括起来,我想您希望这样的内容与字符串中的一个特殊字符相匹配:

preg_match('/[' . preg_quote($var, '/') . ']/', $string)