アプリケーションでは、db から取得した特殊文字の動的セットの特殊文字チェックを行う必要があります。次のことを試しましたが、うまくいきません。
$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;