1

我在我的网站上收到此错误,但我不知道为什么:

警告:preg_match() [function.preg-match]:分隔符不能是字母数字或反斜杠

错误在这个函数中:

if (isset($_REQUEST['page']) AND preg_match("\.\.", $_REQUEST['page'])) {
Header("Location: index.php");
die();

}

4

2 回答 2

3

您必须将正则表达式括在分隔符中:

if (isset($_REQUEST['page']) AND preg_match("/\.\./", $_REQUEST['page'])) {
     Header("Location: index.php");
     die();
}
于 2013-04-15T15:54:15.237 回答
0

在为正则表达式操作(例如 preg_match)提供模式时,PHP 有一个有趣的要求,即模式需要在字符串的开头和结尾有一个字符分隔符。这可以是任何字符,但不应在模式中使用。例如,您可以使用井号作为分隔符:

if (isset($_REQUEST['page']) AND preg_match("#\.\.#", $_REQUEST['page'])) {
于 2013-04-15T15:56:09.060 回答