如果模式是 preg_match 中的变量,那么使用分隔符的语法是否正确?
if (!preg_match("/{$_SERVER["SERVER_NAME"]}/",$variable)){
.......
}
如果模式是 preg_match 中的变量,那么使用分隔符的语法是否正确?
if (!preg_match("/{$_SERVER["SERVER_NAME"]}/",$variable)){
.......
}
处理这个问题的正确方法是使用preg_quote()
确保正则表达式中具有特殊含义的字符被正确转义:
$pattern = '/' . preg_quote($_SERVER['SERVER_NAME'], '/') . '/';
if (!preg_match($pattern, $variable)) {
}
当然,这本身并不是一个很有用的表达式,因为你也可以这样写:
if (strpos($variable, $_SERVER['SERVER_NAME']) === false) {
}