繁体   English   中英

PHP preg_match,如果pattern是变量

[英]PHP preg_match if pattern is a 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) {
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM