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

时间:2013-04-15 15:52:53

标签: php preg-match

我在我的网站上收到此错误,我不知道原因:

  

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

错误在于此功能:

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

}

2 个答案:

答案 0 :(得分:2)

您必须将正则表达式括在delimiters

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

答案 1 :(得分:0)

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

if (isset($_REQUEST['page']) AND preg_match("#\.\.#", $_REQUEST['page'])) {